1

変数をフィルタリングおよびサニタイズするために PHP を使用filter_var()して提供することはベスト プラクティスと見なされますか、それともより良いオプションはありますか?sanitize_var()

ありがとうございました。

4

4 に答える 4

0

私は常に次のマントラを考慮します...「ユーザー入力を信頼しない」ctype_alpha、ctype_alnumは検証にも適しています。また、クライアント側も検証することを忘れないでください(javascript検証)。これにより、サーバーの負荷も軽減されます。

于 2011-08-24T21:15:29.360 に答える
0

フォームからの入力を検証してみましょう。

最初に行う必要があるのは、探している入力データが存在することを確認することです。

次に、filter_input() 関数を使用して入力データをフィルタリングします。

以下の例では、入力変数「email」が PHP ページに送信されます。

于 2013-08-25T08:50:57.837 に答える
0

HTMLフィルタリング/クリーンアップ用のHTML Purifierについて言及したいと思います。

一般的な検証 (数値、日付、その他の値) については、たくさんのライブラリがあり、組み込み関数もあります。最も適切なものを選択するのはあなた次第ですが、既に Zend Framework を使用している場合は、 Zend_Validateについて言及したいと思います。 .

于 2011-08-24T21:26:29.317 に答える
0

HTML5を使用してクライアント側の検証を使用してから、サーバー側を使用するのが最善だと思います。PHP には、文字列をフィルタリングする FILTER_SANITIZE_STRING (検証する必要はありませんが) のような関数があり、正規表現を使用してメールを手動で検証するのではなく、FILTER_VALIDATE_EMAIL を使用できます。文字数などの制限もご利用いただけます。

概念的な例...

if form is submitted 
  if 'name' is not empty
    create a variable that equals filter_var($_POST['name'], FILTER_SANITIZE_STRING)
    if 'name' is empty then set echo an error message

  if 'email is not empty
    create a variable that equals filter_var($_POST['email'], FILTER_SANITIZE_STRING)
    // then you can validate email
    if (!filter_var($email, FILTER_VALIDATE_EMAIL))
      error message
  // do this for other variables

  if there's not error
    send email and or a thank you message

 //FORM here
于 2013-10-31T03:28:35.690 に答える