• 技术文章 >php教程 >php手册

    php验证请求页面来源

    2016-05-25 16:46:20原创410
    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提交 
    }


    本文链接:

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

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php验证请求 页面来源
    上一篇:php获取复选框 文本框、密码域、隐藏域、按钮、文本域值 下一篇:php $_get,$_POST 获取值教程
    php培训_php实战培训【立即报名】-php中文网第20期

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 简化的实现方法(限制为同一会话页面)• 我的论坛源代码(五)_php基础• PHP: 把数组存入文件• Yii中创建自己的Widget实例,yiiwidget实例• PHP获取文件扩展名的4种方法,
    1/1

    PHP中文网