PHP プログラミングのヒント: フォーム データのフィルタリングの処理方法
Web 開発では、フォームは対話の非常に一般的な方法です。ユーザーはフォームを通じてデータを入力し、これらをデータは処理のためにサーバーに送信されます。ただし、ユーザー入力は制御できないため、データのセキュリティと信頼性を確保するには、フォーム データを効果的にフィルタリングして検証する必要があります。この記事では、フォーム データのフィルタリングの処理に役立つ、一般的に使用される PHP プログラミング手法をいくつか紹介します。
filter_input()
: この関数は、GET、POST、COOKIE およびその他のデータをフィルタリングし、フィルタータイプ。たとえば、filter_input(INPUT_POST, 'name', FILTER_SANITIZE_STRING)
を使用して、'name' という名前の POST データをフィルタリングし、文字列に変換できます。 FILTER_SANITIZE_STRING
HTML タグと特殊文字を削除するために使用されます。 filter_var()
: この関数は、任意のタイプの変数をフィルター処理し、フィルター タイプを指定できます。たとえば、filter_var($email, FILTER_VALIDATE_EMAIL)
を使用して、電子メール アドレスが正当かどうかを確認できます。 FILTER_VALIDATE_EMAIL
は、電子メール アドレスを確認するために使用されます。 filter_var_array()
: この関数は、配列内の複数の変数をフィルタリングできます。たとえば、filter_var_array($_POST, $filters)
を使用して、$_POST 配列内の複数のデータをフィルターし、各データのフィルター タイプを指定できます。 $filters は連想配列で、キーはデータの名前、値はフィルターの種類です。 以下は、上記のフィルター関数を使用してフォーム データをフィルター処理する方法を示すサンプル コードです。
$name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_STRING); $email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL); $filters = array( 'name' => FILTER_SANITIZE_STRING, 'email' => FILTER_VALIDATE_EMAIL ); $data = filter_var_array($_POST, $filters);
$name = $_POST['name']; if (!preg_match("/^[a-zA-Z ]*$/", $name)) { echo "只允许字母和空格!"; }
上記のコードでは、正規表現 /^[a-zA-Z ]* を使用します。 $ /
は、文字とスペースのみを含む文字列と一致します。照合に失敗した場合は、プロンプトメッセージが出力されます。
$name = $_POST['name']; $email = $_POST['email']; $stmt = $conn->prepare("INSERT INTO users (name, email) VALUES (?, ?)"); $stmt->bind_param("ss", $name, $email); $stmt->execute(); $stmt->close();
上記のコードでは、プリペアド ステートメントと binding_param() メソッドを使用して、フォーム データをデータベースに挿入します。 bind_param() メソッドの最初のパラメータはデータ型で、「ss」は両方のパラメータが文字列であることを意味します。
概要:
フォーム データを処理する場合、データ フィルタリングは不可欠です。フィルタリング機能、正規表現、SQL インジェクション防止テクノロジを使用すると、データのセキュリティと信頼性を効果的に保護できます。実際のニーズに基づいて適切なフィルタリング方法を選択し、コード内のエラーと例外の処理に注意を払う必要があります。
上記は、フォーム データのフィルタリングを処理する方法という PHP プログラミング スキルの紹介です。
以上がPHP プログラミングのヒント: フォーム データ フィルタリングの処理方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。