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

  • 内容
  • 相关

用过ajax的童鞋就知道ajax可以跨域触发某个接口,但是由此引起一个任何域都可以调用的问题,这时候就要考虑用到防盗链技术了,在PHP中$_SERVER["HTTP_REFERER"],$_SERVER["HTTP_REFERER"]里放置的是链接到本页面的上一个页面的URL,假如你是直接进来的话,$_SERVER["HTTP_REFERER"]是没有值的。下面以一个简单的实例介绍一下,PHP如何防伪造提交数据:

1、非4dn.net调用的接口全部拒绝访问

<?php
$sheli = $_SERVER['HTTP_HOST'];if($sheli){$url = parse_url($sheli);if($url['path'] != '4dn.net'){exit('拒绝访问!');}} 
?>

2、允许在4dn.net子域名间调用的方法

<?php
$sheli = $_SERVER['HTTP_HOST'];  
if($sheli){$url = parse_url($sheli);$t=explode('.',$url['path']);$l=count($t);$domainStr=$t[$l-2].'.'.$t[$l-1];if($domainStr != '4dn.net') {echo('拒绝访问!');}} 
?>
黑蜘蛛

本文标签:

版权声明:若无特殊注明,本文皆为《ღ軍尐ღ》原创,转载请保留文章出处。

字数统计:本文共有 《563》 个。

本文链接:PHP中如何防止跨域名调用接口教程 - https://4dn.net/jsxx/303.html