> php教程 > php手册 > PHP检查表单提交是否来自于本站

PHP检查表单提交是否来自于本站

WBOY
풀어 주다: 2016-06-13 11:35:32
원래의
874명이 탐색했습니다.

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

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

if(PHP_VERSION 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>window.alert(&rsquo;数据来源有误,本站不接收站外提交的数据!&rsquo;);window.opener=self;window.close();</script>"; 
        exit; 
    } 

?> 
    此方法并非绝对安全,因为HTTP_REFERER是可以伪造的,只能是防君子但不能防小人了,但在一般情况下已经够用。

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿