フォームがある場合は、名前、電子メール、メッセージなどの入力を含む単純な連絡フォームを言います。また、JavaScript検証がすべての入力でtrueを返した後、Ajaxを使用して送信するようにフォームを設定します。
PHPを使用して入力を検証する必要がありますか?JavaScriptがオフになっている場合でも、フォームを送信するにはどうすればよいですか?また、JavaScriptがオフになっているためにフォームを送信できない場合、どのように害を及ぼす可能性がありますか?
フォームがある場合は、名前、電子メール、メッセージなどの入力を含む単純な連絡フォームを言います。また、JavaScript検証がすべての入力でtrueを返した後、Ajaxを使用して送信するようにフォームを設定します。
PHPを使用して入力を検証する必要がありますか?JavaScriptがオフになっている場合でも、フォームを送信するにはどうすればよいですか?また、JavaScriptがオフになっているためにフォームを送信できない場合、どのように害を及ぼす可能性がありますか?
もちろん、サーバー側の検証が必要です!:-)
それは常に必要です。
このアドオンをインストールするだけです: https://addons.mozilla.org/en-US/firefox/addon/tamper-data/ .
サーバーに送信する内容を自由に変更できます。
また、Firebugを使用すると、ブラウザーで表示される内容を変更できるため、サーバーに送信されます。
例えるなら、銀行は金庫に鍵をかけています。しかし、ロックが誰かが盗むのを止められなかった場合に備えて、防犯カメラと警報システムも備えています.
編集:
連絡先フォームを使用している (そしてスクリプトが連絡先に自動的に電子メールを送信する) 場合、電子メール フィールドにアドレスを追加するだけで、誰かがあなたのスクリプトに何千ものスパム メッセージを送信させる可能性があることに注意してください。
これを回避するには、サーバー側の検証を行う必要があります。クライアント側の検証に頼ることはできません。
フロントエンド検証の有無にかかわらず、常にバックエンド検証を使用してユーザー入力をサニタイズする必要があります。
Javascript を無効にするとフォームを送信できないことは間違いありませんが、使用している URL に POST 要求を送信するだけで、悪意のある人物によって送信される可能性があります。
毎回、クライアント側 (JavaScript を使用するため、ブラウザーへの Ajax 呼び出しは行われません) とサーバー側 (PHP 検証を使用) の両方の検証タイプを使用する方がよいと思います。
フォームは、Firebug コンソールまたはその他の種類のハックを使用して送信できます。
通常のユーザーはそれを行うことはできませんが...それでも。それができる可能性がある場合は、リスクを冒すべきではありません。
エンドユーザーは JavaScript をオン/オフするだけでなく、それ以上のことができるので、サーバー側で検証を行うことをお勧めします。
JavaScript はクライアント側で使用できるため、悪意のあるユーザーはクライアント側の検証を変更して、悪意のある入力をクライアント側の検証に渡すことができます。
ユーザーが JavaScript の動作を変更しないと信頼するよりも、サーバー側で検証された入力を信頼する方が常に優れています。
誰でも任意のデータを含むフォームを URL に送信できます。ローカルホストからでも
したがって、サーバー側の検証は必須です