一,为什么ajax异步请求的脚本文件要加限制呢
ajax请求的异步脚本程序,根网页能看到的脚本程序一样,都可以通过浏览器来访问,唯有不同的话,ajax异步请求的脚本不那么容易被发现而已,但是并不表示找不到异步请求的脚本。所以我们不要疏忽了异步请求脚本的限制。
说明 :我可以通过firebug看以看到你异步请求的URL是什么,并且我可以看到你请求时传的参数是什么,以及脚本文件的返回数据。由起可见,如果不加限制的话,我可随意窃取你的数据。有的时候,并不是不知道要加限制,而是忘了,疏忽了。
二,我做了个测试,看看结果吧
说明:我在本地上面建了一个测试文件,然后调用一个blog.51yip.com中的一个ajax中的一个php文件,代码如下
<script type="text/javascript"> $(document).ready(function(){ $.ajax({ type: "POST", url: "http://blog.51yip.com/*****/*******.php", data: "value=ajax", success: function(msg){ alert( "response data: " + msg ); } }); }); </script>
上面的测试是在IE浏览器中进行了,而在FIREFOX中呢,只发回来了一个response data:然后就没有了,我想这个肯定根FIREFOX的安全设置有关,但是我没有找到.
三,怎么样对异步脚本进行限制呢
看下面代码
if(preg_match("/".$_SERVER["SERVER_NAME"]."/i",$_SERVER["HTTP_REFERER"])){ echo $url; }else{ echo "cann`t access"; die; }
说明:限制的方法有很多,说一个最简单的。先说一下思想,请求的url的域名是否和你自己网站的域名一样,如果一样放过,不一样不放过。
转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/jsjquery/817.html