9

もちろん、サーバー側の検証は必須であることを私は知っています

jQueryを使用してフォーム入力を検証し、jquery ajaxを使用してサーバー側(PHP)の検証を同時に実行しています。したがって、JavaScriptが有効になっている間は両側で検証されるため、安全かもしれません。

さて、ここに私の問題があります...

しかし、ユーザーがブラウザーでjavascriptを無効にしていて、悪意のあるユーザーがクライアント側のスクリプトを編集して何か悪いことをしようとした場合はどうなるでしょうか。

私はjqueryajaxを介してサーバー側の検証を行っており、ユーザーのjavascriptが有効になっている場合でも、php script(action = "some.php")で直接検証しないことを計画しているためです。

それで...それはまだ安全ですか?

私の悪い英語でごめんなさい、あなたが気にしないことを望みます。

4

3 に答える 3

15

いいえ、安全ではありません。フォームが送信されたは、常にサーバー側でデータを検証する必要があります。フォームを送信する前のクライアント側の検証とAJAX検証は、無効なデータに関するフィードバックを迅速に提供することで、ユーザーエクスペリエンスを向上させるだけです。クライアント側の検証とAJAXの送信前検証はどちらも、悪意を持って作成されたフォーム送信からユーザーを保護することはできません。攻撃者や悪用者は通常、サーバーにデータを送信するためにブラウザを使用することさえありません。

于 2012-11-20T15:59:16.503 に答える
7

私のルールはかなり単純です...

  1. データに関心がある場合は、サーバーで検証する必要があります。
  2. ユーザーエクスペリエンスを重視する場合は、クライアントで検証する必要があります。
于 2012-11-20T15:56:36.347 に答える
6

javascriptはすべての訪問者が読み取り可能であり、最新のブラウザで簡単に編集できるため、プログラミングのスキルが少しあれば、JavaScriptの検証をすぐにバイパスできます。したがって、常にサーバー側でも検証する必要があります。

于 2012-11-20T16:00:06.187 に答える