PHP は、Web アプリケーションの構築に広く使用されている、人気のあるサーバー側プログラミング言語です。 PHPを使用してWebアプリケーションを開発する場合、セキュリティの確保は非常に重要です。 HTTPリクエストにはGETとPOSTがあり、GETリクエストにはクライアントから送信されるリクエストパラメータがURLに含まれるため、GETリクエストを禁止することでWebアプリケーションのセキュリティを高めることができます。この記事では、PHP を通じて GET リクエストを抑制する方法について説明します。
ステップ 1: リクエスト タイプをクエリする
PHP スクリプトを作成するとき、$_SERVER['REQUEST_METHOD'] パラメータを使用して、現在のリクエストのタイプを判断できます。リクエスト。 GET リクエストの場合、このパラメータの値は「GET」になり、POST リクエストの場合、その値は「POST」になります。したがって、コードの先頭に次の判断ステートメントを追加できます:
if ($_SERVER['REQUEST_METHOD'] == 'GET') { header('HTTP/1.1 405 Method Not Allowed'); exit; }
このコードは、まず現在のリクエストのタイプが GET かどうかを問い合わせます。そうであれば、「HTTP/1.1 405 メソッド」を返します。 「許可されていません」エラー コードが表示され、スクリプトの実行を停止します。
ステップ 2: $_GET 配列を無効にする
PHP では、$_GET はリクエスト URL で渡されるパラメーターを含む連想配列です。悪意のある GET リクエストを防ぐには、スクリプトの先頭で unset() 関数を使用して、$_GET 配列を空の配列に設定します。
$_GET = array();
これにより、$_GET 配列が非アクティブになり、誰もリクエストを通過できなくなります。 URL 内のパラメータ。
ステップ 3: $_GET の代わりに $_POST を使用する
PHP では、$_POST 配列を使用して POST リクエストにデータを保存できます。データを PHP ページに送信する必要があり、GET リクエストを通じてアクセスできないようにしたい場合は、GET リクエストの代わりに POST リクエストを使用できます。
たとえば、以前に URL のパラメータを使用して検索キーワードを渡していた場合、代わりに非表示フィールドを使用できるようになりました。
<form method="post" action="search.php"> <input type="text" name="keyword"> <input type="submit" value="Search"> </form>
この例では、GET の代わりに POST リクエストを使用します。 request 検索リクエストを行います。 PHP ページでは、$_GET['keyword'] を使用する代わりに $_POST['keyword'] を使用して検索キーワードを取得します。
要約すると、GET リクエストの禁止は、Web アプリケーションのセキュリティを強化する効果的な方法です。上記の 3 つの手順により、悪意のあるユーザーが GET リクエストを使用してアプリケーションを攻撃することを効果的に防ぐことができます。
以上がPHPを使用してgetリクエストを無効にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。