私は最近、djangoローカルサーバープロジェクトをいじっていましたが、次のような入力がありました
<form....{% csrf_token %}
....
<input type="text" value="foo" readonly />
....
</form>
これで、入力の値は希望どおり( "foo")のままになりますが、google chrome inspectを使用して、読み取り専用入力の値を変更し、新しい値をサーバーに渡すことができました。これにより、問題が回避されました。価値。
だから私はいくつかの質問があります:
このようなセキュリティリスクを防ぐための一般的なルールまたはメンタルチェックリストは何ですか?
JavaScriptコンソールを使用して、このようなデータを破損することもできますか?更新:YEP。それで、基本的にサーバー側ですべてのチェックを行う必要がありますか?
3に該当しない場合、html / jsインスペクターから保護されているクライアント側の検証は何ですか?
編集:
これまでの回答から推測すると、3は「はい」です。それでも、クライアント側のセキュリティ/チェックを気にする必要がありますか?彼らは実際に私をより安全にするのでしょうか、それとも単に誤った安心感(これは悪いことです)ですか?サーバー側でいくつかのチェックを保存するためにクライアント側のチェックを行う必要があります。そうすれば、パフォーマンスが向上する可能性がありますか? 基本的に:クライアント側のチェックはどのくらい行う必要がありますか?