PHP セキュリティ防止プログラム モデル
次のようにコードをコピーします。
/* PHP アンチインジェクション クロスサイト V1.0
普遍的な防止を実現するには、ページの先頭に require(“menzhi_injection.php”) を追加します。 SQL インジェクションと XSS のクロスサイト脆弱性。
##################欠陥と改善##################
プログラムにはまだ多くの欠陥がありますが、皆様も改善にご協力いただければ幸いです
##################参照と謝辞###################
Neeao'ASP SQLユニバーサルアンチインジェクションプログラム V3.0
コードの一部は Discuz! から参照しています
|select|delete|update|count|*|%|chr|mid|master|truncate|or|char|declare";
$menzhi_injection =explode("|",$menzhi_injection);
foreach(array('_GET' , '_POST', '_COOKIE','_REQUEST') as $_request) {
foreach($$_request as $_key => $ _value) {
//$_value = strto lower($_value);
$_key{ 0} != '_' && $$_key = maddslashes($_value)
foreach($menzhi_injection as $kill_key => $kill_value ) {
if(substr_count($_value,$kill_value)>0) {
echo "";
unset($_value)
}
}
///echo "
".$_value ;
}
}
function goddslashes($string) {
if(!MAGIC_QUOT ES_GPC) {
if(is_array($string)) {
foreach($string as $key => $val) {
$string[ $key] = daddslashes($val);
}
} else {
$string = addslashes ($string)
}
}
$string = preg_replace(((d{3,5}| x[a-fA-F0-9]{4}));)/', ' &\1',str_replace(array('&', '"', ''), array ('&', '"', ''), $ string));
return $string;
}
?>
使用手順
追加: "require("menzhi_injection.php SQL インジェクションと XSS 国境を越えたサイトの脆弱性を一般的に防止するには、ページの上部に「);」を追加します。このプログラムを呼び出すには、include() の代わりに require() を使用します。これは、require() がエラーでファイルを呼び出した場合、プログラムは終了し、include() はそれを無視するためです。そして、require() がファイルを呼び出すと、プログラムが実行されるとすぐに外部ファイルが最初に呼び出されます。 Inculde() は、この行に到達した場合にのみ実行を開始します。関数の特性に基づいて、require() を選択します。 実際のニーズに応じて $menzhi_injection 変数のフィルター文字を追加または削除して、より良い防御効果を実現することもできます。 さらに、コードを自分で変更すると、予期しない結果が得られる可能性があります。通常のインジェクションは防御できます。次のテストは単なる嘲笑のためのものです。次は 1 文のトロイの木馬のテスト効果です。 「require("menzhi_injection.php");」を覚えておいてください。これは皆さんの興味を引くための単なるギミックですので、ぜひご自身で試してみてください。
不具合と改善点
このプログラムは外部呼び出しのみであるため、外部から送信された変数を処理するだけであり、アプリケーションの体系的な分析は実行しませんので、多くの制限がありますので、注意して使用してください。 GBK エンコーディングを使用するプログラムには、2 バイト エンコーディングの脆弱性のリスクもありますが、このプログラムはこの脆弱性に対処できます。しかし、これらの抜け穴を防ぐには、やはり根本原因から始める必要があります。データベース接続ファイルを処理する必要がある場合は、character_set_client=binary を追加できます。 Discuz!7.0 のデータベース接続クラス db_mysql.class.php は非常によく書かれているので、参照してください。もちろん、これらはこの小さなプログラムの範囲ではありません。
このプログラムは非常に厄介ですので、どなたでもテストして使用してください。コメントや提案があれば、ディスカッション用にメッセージを残してください。
結論
最後に、皆さんの学業と仕事の成功をお祈りします。関連記事をさらに入手したい場合は、PHP 中国語 Web サイト (www.php.cn) に注目してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 中国語版
中国語版、とても使いやすい

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

WebStorm Mac版
便利なJavaScript開発ツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。
