Home >php教程 >php手册 >php验证请求页面来源

php验证请求页面来源

WBOY
WBOYOriginal
2016-05-25 16:46:201092browse

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来判断,不需要另外实现,下面看原理:在发送ajax请求的时候,我们可以通过xmlhttprequest这个对象,创建自定义的header头信息,如果您使用的是原生的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提交 
}


本文链接:

收藏随意^^请保留教程地址.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn