-1

PHP でフォームを検証するための最善かつ最も安全な方法は何でしょうか? 例: 長さ、電子メール、空っぽ、特殊文字など。

これに filter_var を使用しても安全ですか? または、関数でそれらをすべて手動で 1 つずつ定義する必要があります。または他の方法があります。

申し訳ありませんが、フォームを作成するときにこの質問に何度も遭遇するので、確認したいだけです。

4

3 に答える 3

1

検証は、クライアント側とサーバー側の両方で行う必要があります。クライアント側の検証により、サーバー側のスクリプトで発生するエラーが少なくなります (またはゼロになる可能性があります)。通常、サーバー側で多くのエラーが発生するのは望ましくないため、これは望ましいことです。

そうは言っても、PHP で入力を検証する方法はたくさんあります。それは文脈に依存します。たとえば、空であることの確認 (ご自身でおっしゃったように)、または入力が数値かどうか、指定された値の長さ (たとえば、最小長が適用される場合があります)、または電子メール アドレスが本当に電子メール アドレスであるかどうかを確認します! filter_var() は常に十分であるとは限りません。

于 2013-03-18T13:25:22.543 に答える
1

サーバー側で正規表現を使用できます。しかし、JavaScript を使用してクライアント側のフォーム フィールドを検証することを検討します。フィールドが正常かどうかを確認するためだけにサーバーから情報を取得したくはありません。無駄なサーバー時間を消費します。

于 2013-03-18T13:27:51.187 に答える
1

最良の検証プロセスは、正規表現でデータを検証することだと思います。必要な文字数 (少なくともまたは最大)、許可される文字と許可されない文字を定義でき、データの正確な形式を定義することもできます。

検証は両側で行う必要があります。サーバーサイドとクライアントサイド。クライアント側で検証を行い、サーバー側の仕事を容易にします。クライアント側で検証を行っても、悪意のある人々がコードをハッキングする可能性があります。サーバー側にも検証が必要です。

filter_var 関数も便利です。メールアドレスの検証に使用しています。

于 2013-03-18T13:28:02.927 に答える