防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爬蟲入門:如何選擇合適的類別函式庫?
09 Aug 2023
PHP爬蟲入門:如何選擇合適的類別函式庫?隨著網路的快速發展,大量的數據散落在各個網站中。為了取得這些數據,我們常常需要使用爬蟲來從網頁中擷取資訊。而PHP作為常用的網頁開發語言,也有許多適用於爬蟲的類庫可供選擇。然而,在選擇適合自己專案需求的類別庫時,我們需要考慮一些關鍵因素。功能豐富性:不同的爬蟲類庫提供了不同的功能。有些類別庫只能用於簡單的網頁抓取,而有些
php常用的第三方類別函式庫有哪些
18 Sep 2023
php常用的第三方類別函式庫有Laravel、Symfony、Guzzle、PHPUnit、Monolog、Swift Mailer、PHPExcel、Carbon、Doctrine、PHPMailer等。詳細介紹:1、Laravel是一個流行的PHP框架,提供了豐富的功能和工具,用於快速構建Web應用程序,它包含了許多常用的類庫,例如路由、數據庫訪問、模板引擎、身份驗證等等。
Hot tools Tags
Hot Tools
Hot Article
龍騰世紀:面紗衛兵 - 復活者儀式演練
01 Nov 2024
手游攻略
dav332.dll - 什麼是 dav332.dll?
21 Oct 2024
電腦知識
如何在 Spring Boot 中輕鬆新增自訂過濾器類別?
02 Nov 2024
java教程
BitMEX 創辦人 Arthur Hayes 最近收購了 1.166 億 Aethir (ATH) 代幣,在加密貨幣領域取得了重大進展
21 Oct 2024
網路3.0
如何在 Python 中按頻率對單字進行計數和排序?
21 Oct 2024
Python教學