PHP检查表单提交是否来自于本站(验证HTTP_REFERER等)

方法一: 
你可以把处理提交数据的代码写到一个单独的文件里,比如form.php。    
  <?php    
  if   (defined(’INSIDE’))   {//判断是否有定义INSIDE常量    
  //处理表单    
  }   else   {    
  exit(’错误’);    
  }    
  ?>    
     
  然后,在提交表单的那个页面先定义INSIDE这个常量,常量值无所谓    
  define(’INSIDE’,   ’TRUE’);    
     
  接着,判断是否有提交,如果提交,则    
  include   ’form.php’; 

======================================================================================= 方法二: 

<?php  
if(PHP_VERSION<’4.1.0’){$_SERVER = $HTTP_SERVER_VARS;}  
if(isset($_SERVER["HTTP_REFERER"])){  
//针对部分浏览器可能无HTTP_REFERER,所以做这么一个判断  
    $servername=$_SERVER[’SERVER_NAME’];  
    $sub_from=$_SERVER["HTTP_REFERER"];  
    $sub_len=strlen($servername);  
    $checkfrom=substr($sub_from,7,$sub_len);  
    if($checkfrom!=$servername)  
    {  
        echo "<script language=’javascript’>window.alert(’数据来源有误,本站不接收站外提交的数据!’);window.opener=self;window.close();</script>";  
        exit;  
    }  
}  
?>  
    此方法并非绝对安全,因为HTTP_REFERER是可以伪造的,只能是防君子但不能防小人了,但在一般情况下已经够用。

 

From: http://www.3lian.com/edu/2010/11-30/3732.html

转载于:https://www.cnblogs.com/imxiu/p/3410501.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值