首頁 PHP 函式庫 其它類別庫 防SQL注入的php類別函式庫
防SQL注入的php類別函式庫
<?php
class sqlsafe {
  private $getfilter = "'|(and|or)\b.+?(>|<|=|in|like)|\/\*.+?\*\/|<\s*script\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)";
  private $postfilter = "\b(and|or)\b.{1,6}?(=|>|<|\bin\b|\blike\b)|\/\*.+?\*\/|<\s*script\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)";
  private $cookiefilter = "\b(and|or)\b.{1,6}?(=|>|<|\bin\b|\blike\b)|\/\*.+?\*\/|<\s*script\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)";
  public function __construct() {
    foreach($_GET as $key=>$value){$this->stopattack($key,$value,$this->getfilter);}
    foreach($_POST as $key=>$value){$this->stopattack($key,$value,$this->postfilter);}
    foreach($_COOKIE as $key=>$value){$this->stopattack($key,$value,$this->cookiefilter);}
  }
  public function stopattack($StrFiltKey, $StrFiltValue, $ArrFiltReq){
    if(is_array($StrFiltValue))$StrFiltValue = implode($StrFiltValue);
    if (preg_match("/".$ArrFiltReq."/is",$StrFiltValue) == 1){
      $this->writeslog($_SERVER["REMOTE_ADDR"]."    ".strftime("%Y-%m-%d %H:%M:%S")."    ".$_SERVER["PHP_SELF"]."    ".$_SERVER["REQUEST_METHOD"]."    ".$StrFiltKey."    ".$StrFiltValue);
      showmsg('您提交的参数非法,系统已记录您的本次操作!','',0,1);
    }
  }
  public function writeslog($log){
    $log_path = CACHE_PATH.'logs'.DIRECTORY_SEPARATOR.'sql_log.txt';
    $ts = fopen($log_path,"a+");
    fputs($ts,$log."\r\n");
    fclose($ts);
  }
}

本類別庫首先建構函數參數,然後檢查並寫日誌最後檢查SQL注入日誌。是一個很好用的防SQL注入的php類別函式庫


#
免責聲明

本站所有資源皆由網友貢獻或各大下載網站轉載。請自行檢查軟體的完整性!本站所有資源僅供學習參考。請不要將它們用於商業目的。否則,一切後果都由您負責!如有侵權,請聯絡我們刪除。聯絡方式:admin@php.cn

相關文章

PHP爬蟲入門:如何選擇合適的類別函式庫? PHP爬蟲入門:如何選擇合適的類別函式庫?

09 Aug 2023

PHP爬蟲入門:如何選擇合適的類別函式庫?隨著網路的快速發展,大量的數據散落在各個網站中。為了取得這些數據,我們常常需要使用爬蟲來從網頁中擷取資訊。而PHP作為常用的網頁開發語言,也有許多適用於爬蟲的類庫可供選擇。然而,在選擇適合自己專案需求的類別庫時,我們需要考慮一些關鍵因素。功能豐富性:不同的爬蟲類庫提供了不同的功能。有些類別庫只能用於簡單的網頁抓取,而有些

php常用的第三方類別函式庫有哪些 php常用的第三方類別函式庫有哪些

18 Sep 2023

php常用的第三方類別函式庫有Laravel、Symfony、Guzzle、PHPUnit、Monolog、Swift Mailer、PHPExcel、Carbon、Doctrine、PHPMailer等。詳細介紹:1、Laravel是一個流行的PHP框架,提供了豐富的功能和工具,用於快速構建Web應用程序,它包含了許多常用的類庫,例如路由、數據庫訪問、模板引擎、身份驗證等等。

phpexcel類別函式庫的基本用法,phpexcel入門範例大全 phpexcel類別函式庫的基本用法,phpexcel入門範例大全

25 Jul 2016

phpexcel類別函式庫的基本用法,phpexcel入門範例大全

簡單的php寫入資料庫類別程式碼分享 簡單的php寫入資料庫類別程式碼分享

30 Nov 2016

簡單的php寫入資料庫類別程式碼分享

php防sql注入類別(php pdo防止sql注入的類別) php防sql注入類別(php pdo防止sql注入的類別)

25 Jul 2016

php防sql注入類別(php pdo防止sql注入的類別)

PHP呼叫C#開發的dll類別函式庫方法 PHP呼叫C#開發的dll類別函式庫方法

29 Jul 2016

:本篇文章主要介紹了PHP呼叫C#開發的dll類別函式庫方法,對於PHP教學有興趣的同學可以參考一下。

See all articles