PHP中如何防止跨域名调用接口教程分享

2018-8-17 / 2 评论 / 7792 阅读

用过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('拒绝访问!');}} 

评论一下?

OωO
取消
    1. 头像
      重庆整形
      板凳
      感觉没多大意义!
      回复
    1. 头像
      网站建设
      沙发
      不错,赞
      回复