[ 解决被外网恶意调用或跨站访问的解决办法 ]

  如果您的短信接口网址为http://www.163.com/api.php的话,别人通过本地或其他网址进行批量恶意提交,那么很快您的短信将被用光。按照正常的访问流程应该是:先打开您的网站 - 然后才是发送短信验证码,那么又要禁止跨站提交,根据这一特点我们给出的解决方案如下:

以PHP程序语言,您的网站域名为 163.com 为例,

<?php
$servername = 'http://'.$_SERVER['SERVER_NAME']; //获取您的网站地址为:http://163.com 或 http://www.163.com
$url_from = $_SERVER['HTTP_REFERER']; //获取上一页来路网址是多少
$str_from = explode("163.com",$url_from); //用163.com分割上一级的来源网址
if(count($str_from)==2){$str_from[0]=$str_from[0]."163.com"; //如果来源网址是163.com的话 加上http://www.或http://
}else{
$str_from[0]="ABCDEFG5475ZHOUXUNSESSION";//如果来源网址不是163.com的话
}
if($str_from[0]!=$servername){ //如果您网址与来源网址不相同的话,禁止运行且弹出信息‘禁止爬墙头’
die('<div style="width:100%; height:300px; line-height:300px; text-align:center; background:#333333;color:#FFF; font-size:36px;">Bad person!禁止爬墙头!</div>');
}
?>

将以上代码复制到sms.php页面的最顶部,或复制到你所设置短信提交页面的最顶部,即可解决该问题,除此之外也可以防止搜索结果页面,网站各个详情页的一部分跨站攻击,注入攻击等