SQL Server データベースにデータを保持する asp.net mvc アプリケーションを使用しています。システムに明らかに顧客を格納する顧客テーブルがあります。顧客の id は、顧客の一意の識別子を保持する ID 列であり、新しいレコードごとに 1 ずつ自動的に増加します。
mvc アプリの特定のコントローラー アクションには、顧客 ID が含まれます。get リクエストでは、セキュリティ ループ ホールが作成されることを理解しています。これにより、外部機関がデータベース構造などに関する知識を得ることができます。
コントローラー アクションで、顧客 ID の使用を別のよりあいまいなフィールドに変更することは非常に困難です。安全な方法でIDを公開する他の方法はありますか? IDを別のIDにマッピングしてセッションに保存し、この代替IDを公開することを考えていましたが、残念ながらセッションストレージは利用できません. 特定の状況では、公開された ID をユーザー セッションを超えて維持する必要がある場合があります。私が調べたもう 1 つの方法は、ID 列のシードを 1 以外の数値 (乱数 88 など) に増やすことです。これは、公開された ID が外部ユーザーにとってあまり意味がないことを意味します。
上記について何か考えや提案はありますか?