2

例: http://stackoverflow.com/questions/396164/exposing-database-ids-security-riskandhttp://stackoverflow.com/questions/396164/blah-blahは同じ質問をロードします。

(これは質問テーブルのDB idだと思いますか?これはASP.NETの標準ですか?)

Web アプリでこのタイプのスキームを使用することの長所と短所は何ですか?

4

5 に答える 5

4

まず、単純な ID は通常連続しているため、アプリケーションから他のデータを推測して取得するのは非常に簡単です。

AJAX を介して動的にではなく、実行時に JSON をロードします https://stackoverflow.com/questions/395858/doesnt-matter-what-I-type-here

そうは言っても、それはボーナスと見なされるかもしれません。なぜなら、安全なデータにアクセスするためにリンクをクリックする必要があるという事実に全体のセキュリティが左右されるという事実に、誰も正気ではなく、したがって簡単に発見できるからです。データは良いかもしれません。

ただし、1 つのポイントは、ある時点でデータベースのインデックスを再作成しようとしているということです。古い URL を無効にする何かを持っていると、検索エンジンに古いリンクがまだ残っているという他の理由がなければ、悪いことになります。

また、ここで SO では、このような他の質問へのリンクを使用するのはごく普通のことです。そのため、ある時点でインデックスを再作成して番号を付け直したい場合 (または GUID に移動したい場合)、古い構造と ID を保持する必要があります。

では、これが実現する可能性はあるのでしょうか、それとも必要になるのでしょうか? おそらくいいえ。

アプリケーションへのすべてのエントリポイントが既知であり、問​​題がないかのようにセキュリティを構築するだけです。

于 2009-01-02T15:36:18.023 に答える
3
  1. データベース ID は、データベースで質問を検索するために使用されます。それは数値です。つまり、高速です。省略した場合は、タイトルを検索する必要があり、非常に時間がかかります。

  2. 質問自体は、「検索エンジンに適した」ものにするための URL の一部です。g○gleなどで上位にランクインします。

于 2009-01-02T15:52:03.687 に答える
1

プロ:

  • ページ情報を簡単に取得できます。ID を取得し、データベースに電話してください、ビオラ。このルックアップを超高速にするために、テーブルにインデックスが付けられます (必要があります)。
  • 一意の URL を保証します。

短所:

  • システム内の ID が公開されています。SO のような公的に利用可能なシステムでは問題ありません。ただし、バックエンドでの適切なセキュリティ対策により、機密性の高いシステムでもこれが問題にならないようにすることができます。
  • 醜い URL。6桁以上の数字は覚えにくいだけでなく、ページを識別するのが数字だけだとさらに難しくなります。これは、SEO に影響を与える可能性もあります。より関連性が高く、適切に構造化された情報を含む URL は一般的にランク付けされるからです。SO は、URL にも投稿名を提供することで補償します。昼食時に友人に特定の投稿をガタガタ鳴らすことはまだできませんが、ブラウザの履歴で簡単に見つけることができます.
  • 遅いルックアップ。データベースでテキスト検索を行うと、通常は遅くなります。
于 2009-01-02T16:06:01.007 に答える
0

しかし、このようなコミュニティでは、同じ質問名​​が同時に投稿される可能性が (まだ最小限ではありますが) 高いことを覚えておいてください。この特定の Web アプリケーションが開発されたコンテキスト。

于 2009-01-02T15:40:07.517 に答える
0

ASP.NETやその他のフレームワークでそれを行うのは悪い習慣ではなく、かなり一般的だとは思いません。@lassevkが言ったように、セキュリティがそれに依存している場合は、さらにチェックする必要があります(ユーザーXがYを記録できるか)が、公開サイトのURLのSEOフレンドリーさによります.

たとえば、SO の URL はかなりフレンドリーです。

URLでDB IDを使用することの長所と短所?

Google は、URL の末尾よりも先頭の情報を高く評価するため、次のように表示します。

https://stackoverflow.com/pros-and-cons-of-using-db-id-in-the-url/q/407120

「url で db id を使用することの長所と短所」のランキングが高くなるはずです。それが唯一の要因ではありませんが、非常に大きな要因です。Amazon のフォーマットを見てください。

http://www.amazon.com/Maverick-Ricardo-Semler/dp/0712678867

http://server/book-name/dp/book-id

Wordpress は次のようにします。

http://server/yyyy/mm/dd/投稿名

ただし、「foo」という名前の同じ日に 2 つの投稿を投稿すると、次のようになります。

http://server/yyyy/mm/dd/foo

http://server/yyyy/mm/dd/foo2

slug (foo/foo2) は PK ではありませんが、投稿テーブル上で一意として維持されます。

URL が GUID でない限り、ID を URL に入れることは問題ではないと思います。長すぎて入力しづらい。int や短い GUID (例: 6 ~ 8 文字) の場合は問題ありません。

于 2009-01-02T16:06:58.353 に答える