ホームページ >バックエンド開発 >PHPチュートリアル >フロントエンド検証は何に役立ちますか?ユーザーはブラウザを通じてフォームの非表示フィールドの値を変更して送信できますか?

フロントエンド検証は何に役立ちますか?ユーザーはブラウザを通じてフォームの非表示フィールドの値を変更して送信できますか?

WBOY
WBOYオリジナル
2016-06-23 13:46:441070ブラウズ



図に示すように、ユーザーはブラウザを通じてフォームの値を簡単に変更し、非表示のブロックを表示できます。 。 。

場合によっては、フロントエンドは渡されたさまざまな値に基づいてさまざまなフォーム項目を表示したり、隠しフィールドを使用していくつかのキー値を記録したりすることがあります (たとえば、情報の一部を変更するとき、隠しフィールドには ID が記録されます)情報の内容を変更し、送信後にデータはこの ID に基づいて更新されます) お待ちください

しかし、ユーザーがこれらの値を変更して送信すると、何か問題が発生しませんか?

では、データを提出した後、更新する前に非常に厳しい審査を受けなければならないのでしょうか?

PS: ユーザーはフロントエンド HTMLJSCSS を表示することしかできないと常々思っていましたが、それを直接変更することもできるとは予想していませんでした。 ?


ディスカッションへの返信 (解決策)

隠しフィールドを使用して一部の値を変更できますが、変更が正しいかどうかを確認します。

受信データを盲目的に信頼することはセキュリティのタブーです

フィールドの値を非表示にするのは、検証の便宜のためだけです

もちろん、フロントエンドの JS 判定を変更したり、HTML フォーム情報を変更したりしても、バックエンドで使用されるかどうかは、バックエンドのスクリプト言語によって再度判断されます。前のセクションの作業はすべて、悪役を防ぐためのものではなく、JS フォームの検証に使用する必要があるため、実際にはデータベースに渡すべきではありません。つまり、フロントエンドが判断を行った後も、データベースに保存する前に判断する必要があります。

わかりました、ありがとうございます

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。