萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php驗證請求頁面來源

php驗證請求頁面來源

php教程驗證請求頁面來源
if( $_server['http_x_requested_with'] == 'xmlhttprequest' ) {
    echo 'ajax';
} else {
    echo 'normal';
}

jquery內部實現ajax的時候,已經加入了標識
jquery源碼中是這樣的:
xhr.setrequestheader("x-requested-with", "xmlhttprequest");

所以,在php中可以通過http_x_requested_with來判斷,不需要另外實現 :)


下面看原理

<strong>在發送ajax請求的時候,我們可以通過xmlhttprequest這個對象,創建自

定義的header頭信息</strong>
如果您使用的是原生的ajax方法,也就是未使用jquery或者其他js框架包裝的ajax

方法,那麼代碼如下:

xmlhttprequest.setrequestheader("request_type","ajax"); 
通過jquery的$.ajax()方法,可以輕松地在發送ajax請求之前,創建我們自定義的

header頭信息。

$.ajax({
        type                : "get",
        url                : base_url +

'php_check_ajax_request/get_user_list.html',
        beforesend         : function (xmlhttprequest) {
            xmlhttprequest.setrequestheader("request_type","ajax");
        },
        success         : function(data){
                $("#user_list").html(data);
                $tip.hide();
                $button.attr('disabled',true);
        }
});


在php獲取時

if (isset($_server['http_request_type']) && $_server['http_request_type']

== "ajax"){//ajax提交
}else{//非ajax提交
}

copyright © 萬盛學電腦網 all rights reserved