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

php验证请求页面来源

WBOY
WBOYOriginal
2016-05-25 16:46:201100Durchsuche

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提交 
}


本文链接:

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn