データベースの内部を公開するのは悪いことだと言われましたが、比較的注目度の高いサイトがたくさんあることに気づき始めました。たとえば、ChartboostとServerDensityはどちらも_id
URLのMongoDBドキュメントフィールドを公開しています。
なぜそれが悪いのかについて誰かが光を当てることができますか?私が考えることができる唯一のことは、それらが人間が読めるURLではないのでSEOに悪いということですが、これは本当ですか?
「データベース内部を公開する」とは、データベースサーバーをインターネットに公開したり、ユーザーに任意のクエリを実行させたりすることなどを理解しています。このようなものは間違いなく悪いです。または、データベーススキーマを何らかの方法で公開した場合、悪意のあるユーザーがこれを有利に使用する可能性があります。
URLでオブジェクトIDを使用することは問題ありません。人間はとにかくURLを記憶しません、そして検索エンジンは投稿へのリンクが投稿スラッグまたは投稿IDで作られているかどうかを気にしません。
stackoverflowでさえ、そのデータベースIDをURLで表示します。それは代理キーまたは自然である可能性がありますが、とにかくリソースを何らかの方法で特定する必要があります。基本的に、すべてのサイトはURLで何らかのID(通常はPK)を使用します。なぜ彼らはMongoDbを使用していると思いますか?LongPKの代わりにGUIDを使用したリレーションデータベースである可能性もあります
誰かにデータベーススキーマを表示しても、sql-injectionから保護されるまで何も起こりません。