ログインしているユーザーはそれらをチェックできないはずなので、いくつかのチェックボックスが無効になっているフォームがあるとします。チェックボックスをハッキングしてポストバックを引き起こさないようにするには、サニタイズ セキュリティをどこに追加する必要がありますか?
ページで?データベース層?データベースに?
私はそれがかなり広い質問である可能性が最も高いことを認識しています。
ありがとう、マーク
ログインしているユーザーはそれらをチェックできないはずなので、いくつかのチェックボックスが無効になっているフォームがあるとします。チェックボックスをハッキングしてポストバックを引き起こさないようにするには、サニタイズ セキュリティをどこに追加する必要がありますか?
ページで?データベース層?データベースに?
私はそれがかなり広い質問である可能性が最も高いことを認識しています。
ありがとう、マーク
本当に安全にする必要がある場合は、すべてのレイヤーにチェックを実装します。少なくとも、データベースとデータアクセスレイヤーから始めます。
可能であれば、ユーザーが操作できないものを完全に非表示にすることを好みます。見えないものをハッキングすることはできません (ページに隠されているという意味ではなく、ログインしていないユーザーが見ることができないものに対してサーバーがコードを生成しないという意味です)。
とはいえ、コントロールを表示したまま無効にする必要があると仮定すると、チェックを行うためにフロントエンドとバックエンドの両方にコードを追加します。フロントエンドの検証コードはハッキングの影響を受けやすいですが、システムを使用しているユーザーがすぐに検証のフィードバックを利用できるのは良いことです。変更をコミットする前に最終チェックを行います。
残念なことに、それは時には労力を倍増させる必要があることを意味しますが、本当に重要なことについては、その価値があります。
ASP.NETイベント検証メカニズムがそれを処理します。2.0からあると思います。