php准确判断ajax请求的来源地址,怎么处理??

xmcwz1 2015-03-19 03:58:47
比如下面的这段代码,在usa.php;(http://test2.designsun.net/usa.php)
中如何准确判断来源是list.html;(http://test1.designsun.net/admin/ProUpLoad/list.htm?/+zd)?
目的是要达到某个域名下的ajax过来我才执行并且返回(因为JSONP是可以跨域的),如果有其他办法达到此目的也可行。
$.ajax({
type : "post",
url : "http://test2.designsun.net/usa.php?"+url,
dataType : "jsonp",
jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback)
jsonpCallback:"success_jsonpCallback",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名
success : function(json){
$("body").empty();
//alert(json);
dwrite(json);

},
error:function(){
$("body").html("抱歉加载失败了....");
}
});
我知道php端可以用$_SERVER['HTTP_REFERER']获取到,但是这个SERVER变量不是通用的(有时候因为服务器环境的问题可能会没有值),不知道有什么准确的方法?(排除在ajax里传地址参数过去的做法)

最终要实现
http://test1.designsun.net/admin/ProUpLoad/list.htm?/+zd这个格式访问内嵌的是http://www.hao123.com

http://test1.designsun.net/admin/ProUpLoad/list.htm?后面加任何代码
访问内嵌的是http://www.baidu.com
...全文
1053 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
__小帅 2015-05-27
  • 打赏
  • 举报
回复
简单判断一下就行了,完全杜绝请在每次请求前输入验证码,手机短信验证,数字证书校验,否则无解
jianwu5 2015-05-24
  • 打赏
  • 举报
回复
所有客户端的请求都不安全。最好在服务端获取数据。比如curl。
傲雪星枫 2015-05-03
  • 打赏
  • 举报
回复
根据 $_SERVER['referer'] 判断来源地址。
likid发 2015-05-02
  • 打赏
  • 举报
回复
JSONP是可以跨域,但必须服务器允许的前提下才可以接受跨域,服务器甚至可以配置允许跨域的白名单
丢雷老谋 2015-04-27
  • 打赏
  • 举报
回复
干嘛搞的这么麻烦啊!你不就想控制请求来源嘛!给个sign密钥验证不就行了
madpc 2015-04-23
  • 打赏
  • 举报
回复
请求方的服务器端中转一下到自己的客户端, 也就是 ajax 发到已方服务端
「已注销」 2015-03-28
  • 打赏
  • 举报
回复
你是想知道到底是那个php文件请求了AJAX吧? 这个伪造的方法太多了 基本没必要 放弃吧

4,251

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧