検索

ホームページ  >  に質問  >  本文

python - 把主键暴露在URL中是好的选择吗?

Django为每个表自动生成了id字段,但这个问题跟Django联系不大。

假设有一个Article表,包含主键,那么我在url访问时直接使用该表的主键id,从安全性和性能方面考虑,这样好吗?比如说,Article表中有一条记录,id10051,而网址http://example.com/article/10051来显示该文章。

这样做能方便用户访问,因为知道某个文章的id,可以猜测其他文章的id来访问不同文章,但是直接把主键暴露在url中,会不会让黑客很容易能猜到数据库的结构从而引起安全方面的问题。

这样的应用场景,有没有什么要注意的或者一般方案呢?

黄舟黄舟2848日前747

全員に返信(6)返信します

  • PHP中文网

    PHP中文网2017-04-17 15:16:17

    何も問題ありません。しかし、シナリオを考えてみましょう。例えば、电商系统 で注文番号を確認し、自動インクリメントされた主キーが公開されれば、プラットフォームの販売状況が明らかになり、競合他社にとっては優れた情報となることは間違いありません。ただし、セキュリティに関しては、注入を防ぐだけで特筆すべきことはありません。別の例としては、マルチユーザーのブログ システムが挙げられます。ID が公開されると、プラットフォームの総登録ユーザー数、総記事数、総投稿数、コメント返信数などが明らかになります。安全性にも影響はありません。

    返事
    0
  • 黄舟

    黄舟2017-04-17 15:16:17

    情報が少なすぎるとテーブル構造を推測できません

    返事
    0
  • 巴扎黑

    巴扎黑2017-04-17 15:16:17

    UUID を使用します。

    返事
    0
  • 巴扎黑

    巴扎黑2017-04-17 15:16:17

    公開されても大きな問題はありません。ただし、権限が関係している場合、たとえば ID A はユーザーに表示されません。

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 15:16:17

    あなたの心配は主にハッカーの侵入を防ぐことです。
    これに関する情報を探してみませんか?
    例: PPTP、L2TP、SSL、...?

    返事
    0
  • 阿神

    阿神2017-04-17 15:16:17

    ハッシュにランダム ソルトを追加するだけで、ランダム ソルトはクライアント セッションにクリア テキストで直接保存できます。

    返事
    0
  • キャンセル返事