亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

首頁 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('您提交的參數(shù)非法,系統(tǒng)已記錄您的本次操作!','',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);
  }
}

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


#
免責(zé)聲明

本站所有資源皆由網(wǎng)友貢獻(xiàn)或各大下載網(wǎng)站轉(zhuǎn)載。請自行檢查軟體的完整性!本站所有資源僅供學(xué)習(xí)參考。請不要將它們用於商業(yè)目的。否則,一切後果都由您負(fù)責(zé)!如有侵權(quán),請聯(lián)絡(luò)我們刪除。聯(lián)絡(luò)方式:admin@php.cn

相關(guān)文章

Go 的「database/sql」函式庫如何防止 SQL 注入? Go 的「database/sql」函式庫如何防止 SQL 注入?

13 Dec 2024

在 Go 中使用「database/sql」防範(fàn) SQL 注入 在建立 Web 應(yīng)用程式時,防止 SQL 注入攻擊至關(guān)重要。經(jīng)過...

Go的database/sql函式庫如何防止SQL注入攻擊? Go的database/sql函式庫如何防止SQL注入攻擊?

20 Dec 2024

使用「database/sql」函式庫防止 Go 中的 SQL 注入攻擊在 Web 開發(fā)中,SQL 注入攻擊帶來了顯著的安全性...

Go的「database/sql」函式庫如何防止SQL注入攻擊? Go的「database/sql」函式庫如何防止SQL注入攻擊?

25 Dec 2024

在 Go 中使用“database/sql”防止 SQL 注入攻擊來建立 Web 應(yīng)用程式時,保護(hù)輸入對於防止惡意攻擊至關(guān)重要...

哪個 PHP 函式庫提供卓越的 SQL 注入防護(hù):PDO 還是 mysql_real_escape_string? 哪個 PHP 函式庫提供卓越的 SQL 注入防護(hù):PDO 還是 mysql_real_escape_string?

22 Oct 2024

PHP 資料物件 (PDO) 為查詢轉(zhuǎn)義提供了比 mysql_real_escape_string 更好的替代方案。 PDO 的優(yōu)點包括資料庫獨立性、自動轉(zhuǎn)義、參數(shù)替換和改進(jìn)的錯誤處理,使其成為更強(qiáng)壯的、e

如何有效防止PHP MySQLi應(yīng)用程式中的SQL注入? 如何有效防止PHP MySQLi應(yīng)用程式中的SQL注入?

10 Dec 2024

使用 PHP 防止 SQL 注入 MySQLISQL 注入是一種嚴(yán)重的安全威脅,它可能允許攻擊者未經(jīng)授權(quán)存取您的...

如何有效防止 PHP MySQLi 應(yīng)用程式中的 SQL 注入? 如何有效防止 PHP MySQLi 應(yīng)用程式中的 SQL 注入?

19 Nov 2024

PHP MySQLI:防止 SQL 注入 SQL 注入是一種常見的攻擊技術(shù),它利用 Web 應(yīng)用程式中的漏洞執(zhí)行...

See all articles