Web 開発では、対話型アプリケーションを使用してユーザーが Web サイトと対話できるようにします。 HTTP プロトコルは、サーバーとクライアント間でデータを転送するように設計されています。 PHP は、HTTP リクエストとレスポンスを処理するために使用できる Web 開発言語です。
この記事では、PHP を使用して POST リクエストと応答を処理する方法を紹介します。まず、HTTP プロトコルがどのように機能するかを簡単に紹介し、次に PHP の組み込み関数を使用して POST リクエストと応答を処理する方法について説明します。最後に、コードの安全性と効果性を確保するためのベスト プラクティスについて説明します。
HTTP プロトコル
HTTP プロトコルは、Web 開発において最も重要なプロトコルの 1 つです。ユーザーがブラウザに URL を入力して Enter キーを押すと、ブラウザは HTTP プロトコルを使用して Web サーバーと通信します。 HTTP プロトコルは、リクエストとレスポンスの概念を使用してデータを送信します。
リクエスト リクエストには次の部分が含まれます。
- リクエスト行
- リクエスト ヘッダー (オプション)
- リクエスト本文 (オプション)
リクエスト行では、リクエストのメソッド (GET、POST など) とリクエストされる URI を指定します。リクエスト ヘッダーには、ブラウザの種類、Cookie など、リクエストに関する追加情報が含まれています。リクエスト本文には、転送されたデータ (存在する場合) が含まれます。
サーバーはリクエストを受信すると、リクエストを処理して応答を返します。応答は次の部分で構成されます。
- ステータス行
- 応答ヘッダー (オプション)
- 応答本文 (オプション)
ステータス行には、応答のステータス コードと理由フレーズが指定されます。応答ヘッダーには、サーバー タイプ、応答タイプなどの応答に関する追加情報が含まれます。応答本文には、転送された実際のデータ (存在する場合) が含まれます。
POST リクエスト
POST リクエストは、サーバーにデータを送信する方法です。ユーザーがフォームにデータを入力してフォームを送信すると、通常、データは POST リクエストの形式でサーバーに送信されます。フォームから POST リクエストを送信するために必要な手順は次のとおりです。
HTML でフォーム要素を作成する - フォームのアクションとメソッドを設定する
- form タグ内の form 要素
-
以下は基本的な HTML フォームです:
<html>
<head>
<title>POST请求演示</title>
</head>
<body>
<form action="process_form.php" method="POST">
名字: <input type="text" name="name"><br>
年龄: <input type="text" name="age"><br>
<input type="submit" value="提交">
</form>
</body>
</html>
ログイン後にコピー
このフォームでは、「process_form.php」という名前のスクリプトを使用してフォーム データを処理します。また、フォームが POST メソッドを使用して送信されることも指定しました。これは、データが POST リクエストの形式でサーバーに送信されることを意味します。
PHP は POST リクエストを処理します
PHP には、POST リクエストと応答を処理するための組み込み関数がいくつかあります。最も一般的な関数の一部を次に示します。
$_POST - POST メソッド経由で送信されたデータを保存するために使用されるグローバル変数。 isset() - 変数が設定されているかどうかを判断するために使用されます。 htmlspecialchars() - クロスサイト スクリプティング攻撃 (XSS) を防ぐために使用されます。
以下は、上記の関数を使用して POST リクエストを処理するサンプル コードです。
<html>
<head>
<title>处理POST请求</title>
</head>
<body>
<?php
if(isset($_POST['name']) && isset($_POST['age'])) {
$name = htmlspecialchars($_POST['name']);
$age = htmlspecialchars($_POST['age']);
echo "你好,$name。你 $age 岁了。";
} else {
?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST">
名字: <input type="text" name="name"><br>
年龄: <input type="text" name="age"><br>
<input type="submit" value="提交">
</form>
<?php
}
?>
</body>
</html>
ログイン後にコピー
この例では、$_POST 変数を使用してフォーム データを取得します。また、isset() 関数を使用して、データが POST メソッド経由で送信されたことを確認しました。最後に、htmlspecialchars() 関数を使用してクロスサイト スクリプティング攻撃を防止しました。
ベスト プラクティス
コードの安全性と有効性を確保するためのベスト プラクティスをいくつか示します。
すべての入力データをチェックし、それらが有効であることを確認します。 - データベースから取得したデータの場合は、パラメーター化されたクエリを使用して SQL インジェクション攻撃を回避します。
- ユーザー入力から生成されたデータの場合は、htmlspecialchars() 関数を使用してクロスサイト スクリプティング攻撃を防ぎます。
- パスワードやクレジット カード番号などの機密情報を応答に含めないでください。
- タスクを実行するために十分な権限を取得しますが、過度の権限を与えないでください。
-
結論
この記事では、PHP を使用して POST リクエストとレスポンスを処理する方法を学びました。私たちは、Web 開発で最も重要なプロトコルの 1 つである HTTP プロトコルがどのように機能するかを学びました。また、$_POST、isset()、htmlspecialchars() など、いくつかの重要な PHP 組み込み関数についても学習しました。最後に、コードの安全性と効果性を確保するためのベスト プラクティスについて説明します。
以上がPHP 入門: POST リクエストとレスポンスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。