熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PHP編程 >> 正文

PHP檢查表單提交是否來自於本站

2013-11-15 12:34:56  來源: PHP編程 

  方法一:
你可以把處理提交數據的代碼寫到一個單獨的文件裡比如formphp   
  <?php   
  if   (defined(’INSIDE’))   {//判斷是否有定義INSIDE常量   
  //處理表單   
  }   else   {   
  exit(’錯誤’);   
  }   
  ?>   
    
  然後在提交表單的那個頁面先定義INSIDE這個常量常量值無所謂   
  define(’INSIDE’   ’TRUE’);   
    
  接著判斷是否有提交如果提交則   
  include   ’formphp’;

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

<?php 
if(PHP_VERSION<’’){$_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$sub_len); 
    if($checkfrom!=$servername) 
    { 
        echo "<script language=’javascript’>windowalert(’數據來源有誤本站不接收站外提交的數據!’);windowopener=self;windowclose();</script>"; 
        exit; 
    } 

?> 
    此方法並非絕對安全因為HTTP_REFERER是可以偽造的只能是防君子但不能防小人了但在一般情況下已經夠用


From:http://tw.wingwit.com/Article/program/PHP/201311/21219.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.