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

首頁 PHP 庫(kù) 其它類庫(kù) 防SQL注入的php類庫(kù)
防SQL注入的php類庫(kù)
<?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);
  }
}

本類庫(kù)首先構(gòu)造函數(shù)參數(shù),然后檢查并寫日志最后檢查SQL注入日志。是一個(gè)很好用的防SQL注入的php類庫(kù)


免責(zé)聲明

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

相關(guān)文章

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

22 Oct 2024

PHP 數(shù)據(jù)對(duì)象 (PDO) 為查詢轉(zhuǎn)義提供了比 mysql_real_escape_string 更好的替代方案。 PDO 的優(yōu)點(diǎn)包括數(shù)據(jù)庫(kù)獨(dú)立性、自動(dòng)轉(zhuǎn)義、參數(shù)替換和改進(jìn)的錯(cuò)誤處理,使其成為更加健壯的、e

PHP中的Prepared語句如何有效防止SQL注入攻擊? PHP中的Prepared語句如何有效防止SQL注入攻擊?

23 Dec 2024

如何阻止 PHP 中的 SQL 注入攻擊 SQL 注入仍然是 Web 應(yīng)用程序的主要威脅,因?yàn)樗构粽吣軌虿倏v數(shù)據(jù)庫(kù)......

Node-MySQL 中的字符串轉(zhuǎn)義如何防止 SQL 注入? Node-MySQL 中的字符串轉(zhuǎn)義如何防止 SQL 注入?

03 Dec 2024

使用字符串轉(zhuǎn)義防止 Node.js 中的 SQL 注入漏洞 SQL 注入是一種常見的攻擊類型,可能會(huì)危害數(shù)據(jù)庫(kù)...

PHP功能可防止SQL注入 PHP功能可防止SQL注入

22 Jul 2025

防止SQL注射的核心方法是使用預(yù)處理語句和參數(shù)化查詢。1.使用PDO預(yù)處理語句,通過問號(hào)或命名參數(shù)綁定用戶輸入,確保輸入不被當(dāng)作SQL代碼執(zhí)行;2.使用mysqli的預(yù)處理和bind_param方法,明確指定參數(shù)類型,防止惡意輸入篡改SQL結(jié)構(gòu);3.避免手動(dòng)轉(zhuǎn)義輸入,如mysqli_real_escape_string,因其容易出錯(cuò)且安全性不足;4.配合PHP內(nèi)置過濾函數(shù)驗(yàn)證輸入,如filter_input和intval,確保輸入數(shù)據(jù)的合法性。通過這些方法可有效提升PHP應(yīng)用的安全性,防止SQL

如何防止ThinkPHP中的SQL注入漏洞? 如何防止ThinkPHP中的SQL注入漏洞?

14 Mar 2025

本文討論了通過參數(shù)化查詢來防止ThinkPhp中的SQL注入漏洞,避免使用原始SQL,使用ORM,常規(guī)更新和正確的錯(cuò)誤處理。它還涵蓋了確保數(shù)據(jù)庫(kù)查詢和驗(yàn)證的最佳實(shí)踐

Go 的'database/sql”庫(kù)如何防止 SQL 注入? Go 的'database/sql”庫(kù)如何防止 SQL 注入?

13 Dec 2024

在 Go 中使用“database/sql”防范 SQL 注入 在構(gòu)建 Web 應(yīng)用程序時(shí),防止 SQL 注入攻擊至關(guān)重要。經(jīng)過...

See all articles