zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    源代码的下载和翻译
    Git使用入门
    搭建Andriod开发环境
    Andriod系统移植与驱动开发概述
    直观打印二叉树
    深度优先遍历图(DFS)
    《UNIX网络编程 卷1 套接字联网API》(第三版)阅读笔记----2018.5.22
    C/C++
    实现具有getMin功能的栈
    用两个栈来模拟一个队列
  • 原文地址:https://www.cnblogs.com/imxiu/p/3410501.html
Copyright © 2011-2022 走看看