<?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); } }
このクラス ライブラリは、最初に関數(shù)パラメータを構(gòu)築し、次にログを確認して書き込み、最後に SQL インジェクション ログを確認します。 SQL インジェクションを防ぐための非常に便利な PHP クラス ライブラリです。
このサイトのすべてのリソースはネチズンによって提供されたもの、または主要なダウンロード サイトによって転載されたものです。ソフトウェアの整合性をご自身で確認してください。このサイトのすべてのリソースは學(xué)習(xí)の參考のみを目的としています。商業(yè)目的で使用しないでください。そうでない場合は、すべての結(jié)果に対して責(zé)任を負うことになります。侵害がある場合は、削除するためにご連絡(luò)ください。連絡(luò)先情報: admin@php.cn
関連記事

03 Mar 2025
この記事では、PHP 8アプリケーションでのクリックジャック攻撃を防ぐ方法について説明します。 X-Frame-Optionsヘッダー、コンテンツセキュリティポリシー(CSP)、および定期的なセキュリティ監(jiān)査や入力検証などのその他のベストプラクティスを使用してTを緩和することを強調(diào)しています。

31 Dec 2024
文字列エスケープとは何ですか?なぜ重要ですか?文字列エスケープは、引用符やその他の特殊な用途の使用目的を明確にするために使用されるテクニックです。

08 Apr 2025
SQLインジェクション:ゆりかごの中での殺害は、一見シンプルなデータベースクエリがシステム全體を破壊するのに十分なリスクを隠すと思ったことがありますか?コードに深く潛んでいるこの古い相手は、あなたの過失を待っています。この記事では、SQL注入を効果的に防止し、アプリケーションを破壊しない方法について説明しましょう。それを読んだ後、安全なコードを書くスキルを習(xí)得し、SQLインジェクションを簡単に処理するのに役立ついくつかの強力なツールを?qū)Wびます。基本から始めましょう。 SQLインジェクションの本質(zhì)は、攻撃者が悪意のあるSQLステートメントを使用してプログラムロジックをバイパスし、データベースを直接操作することです。ユーザー情報を照會し、攻撃者によってOr1 = 1に挿入されたはずのステートメントを想像してください。結(jié)果は何ですか?すべてのユーザー情報が公開されています

30 Nov 2024
cURL: PHP の HTTP リクエスト ハンドラー PHP 開発の分野では、「cURL」という用語が頻繁に登場します。それは図書館です...

16 Mar 2025
Python:AIとデータサイエンスの未來へのゲートウェイ Pythonの比類のない汎用性と読みやすさは、データサイエンス、機械學(xué)習(xí)、人工知能の優(yōu)先言語としてのステータスを固めています。 その広範(fàn)な図書館のエコシス

30 Oct 2024
App Engine 上の Golang でパスワードを保護するWeb アプリケーションのパスワード ハッシュに関しては、セキュリティが最も重要です。人気の図書館ですが...


ホットツール Tags

ホットツール

依存関係注入コンテナー用の PHP ライブラリ
依存関係注入コンテナー用の PHP ライブラリ

50 個の優(yōu)れた古典的な PHP アルゴリズムのコレクション
古典的な PHP アルゴリズム、優(yōu)れたアイデアを?qū)Wび、思考を広げます

畫像を最適化するための小さな PHP ライブラリ
畫像を最適化するための小さな PHP ライブラリ
