POST・Ajaxの判定
PHPPHP側でPOST送信やAjax通信でリクエストされたかを判定する方法を解説します。処理の分岐や不正リクエストの防止に役に立ちます。
POST判定
- PHP
- COPY
if($_SERVER["REQUEST_METHOD"] == "POST"){
// POST送信された場合の処理
}
POST送信されたかどうかを確認するには、$_SERVER["REQUEST_METHOD"]がPOSTになっているかを判定します。ちなみにGET送信時にはGETが入りますので、GET送信の判定も可能です。
Ajax判定
- PHP
- COPY
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'){
// Ajax通信された場合の処理
}
Ajax通信かどうかを判断するには、$_SERVER["HTTP_X_REQUESTED_WITH"]に「XMLHttpRequest」が入っているかを判定します。念のため、strtolowerで小文字に変換してから判定をおこなっています。