1

いくつかのアイテムをテーブルに保存し、各アイテムに URL を接続したい場合、mywebsite.com/item/132 のようなものがあります。これにより、items テーブルの 132 番目のアイテムに関する情報が表示されます。このままじゃダメなの?アイテムごとにランダムな文字セットがある youtube のようなものにする必要がありますか? それを行う最善の方法は何ですか?

アイテムを通常の番号としてテーブルに保存するだけで、URL は次のようになります?mywebsite.com/item/a19kgjy

次に、PHP スクリプトが a19kgjy を「復号化」し、データベースから正しいアイテムを取得するために使用される番号を取得しますか?

これにより、すべてが大幅に遅くなりますか?

4

2 に答える 2

2

サーバーがソートするために余分な作業を追加しているため、これは悪いことです。このようなテーブルを作成してみませんか?

CREATE TABLE myTable
(
    ID int AUTO_INCREMENT,
    httpLink varchar(max)
)

この場合、ソートするのはID

于 2012-08-06T09:12:50.207 に答える
1

これは、セキュリティ/データ保護の質問に関連していると思います。他の人が簡単にアクセスできるようにするかどうかによって異なります。ハッシュ キーを使用した方がよい場合、数値が非常に機密性の高い場合があります。たとえば、transaction_id や user_id としましょう。ここでは、1 日のビジネスでのトランザクション数やシステムでのユーザー数を他の人に公開しているため、間接的につながる可能性があります。いくつかの脆弱性に。ただし、ハッシュ アプローチを実装する場合は、クエリ中に復号化アプローチを使用するのではなく、データの挿入中にランダム ハッシュを生成することをお勧めします。これにより、処理能力がいくらか節約されます。ただし、テーブルのハッシュ フィールドのインデックスを作成することを忘れないでください。とにかく、数値またはハッシュは、実際には検索エンジンに適した URL ではありません。

于 2012-08-06T09:20:52.397 に答える