欢迎访问 舍力博客(www.syom.cn)
用过ajax的童鞋就知道ajax可以跨域触发某个接口,但是由此引起一个任何域都可以调用的问题,这时候就要考虑用到防盗链技术了,在PHP中$_SERVER["HTTP_REFERER"],$_SERVER["HTTP_REFERER"]里放置的是链接到本页面的上一个页面的URL,假如你是直接进来的话,$_SERVER["HTTP_REFERER"]是没有值的。下面以一个简单的实例介绍一下,PHP如何防伪造提交数据:
1、非shuyong.net调用的接口全部拒绝访问
$sheli = $_SERVER['HTTP_sheliER'];if($sheli){$url = parse_url($sheli);if($url['host'] != 'shuyong.net'){exit('拒绝访问!');}}
2、允许在shuyong.net子域名间调用的方法
$sheli = $_SERVER['HTTP_sheliER']; if($sheli){$url = parse_url($sheli);$t=explode('.',$url['host']);$l=count($t);$domainStr=$t[$l-2].'.'.$t[$l-1];if($domainStr != 'shuyong.net') {exit('拒绝访问!');}}
留言/评论:◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。