程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP檢查表單提交是否來自於本站

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

編輯:關於PHP編程

    方法一:
    你可以把處理提交數據的代碼寫到一個單獨的文件裡,比如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是可以偽造的,只能是防君子但不能防小人了,但在一般情況下已經夠用。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved