ホームページ php教程 PHP开发 PHPアプリケーションのセキュリティ防止技術の研究

PHPアプリケーションのセキュリティ防止技術の研究

Dec 14, 2016 pm 01:38 PM

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 は非常によく書かれているので、参照してください。もちろん、これらはこの小さなプログラムの範囲ではありません。

そして、このプログラムは $_SERVER $_ENV $_FILES システム変数をフィルターしません。たとえば、$_SERVER['HTTP_X_FORWARDED_FOR'] システムが IP を取得すると、ハッカーは元の HTTP 要求パケットをハイジャックして変更することでその値を変更できます。このプログラムはこれらの脆弱性を処理できます。しかし、プログラマとして私たちに必要なのは、根本原因から外部変数に対処し、それが起こる前に予防策を講じ、予防策を講じることです。

このプログラムは非常に厄介ですので、どなたでもテストして使用してください。コメントや提案があれば、ディスカッション用にメッセージを残してください。
結論
最後に、皆さんの学業と仕事の成功をお祈りします。関連記事をさらに入手したい場合は、PHP 中国語 Web サイト (www.php.cn) に注目してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Windows 11 でフォト アプリへの変更を保存できないエラー Windows 11 でフォト アプリへの変更を保存できないエラー Mar 04, 2024 am 09:34 AM

Windows 11 で画像編集にフォト アプリを使用中に「変更を保存できません」エラーが発生した場合、この記事では解決策を紹介します。変更を保存できません。保存中にエラーが発生しました。後でもう一度試してください。この問題は通常、不正なアクセス許可設定、ファイルの破損、またはシステム障害が原因で発生します。そこで、この問題を解決し、Windows 11 デバイスで Microsoft フォト アプリを引き続きシームレスに使用できるようにするために、綿密な調査を行って最も効果的なトラブルシューティング手順をいくつかまとめました。 Windows 11で写真アプリへの変更を保存できないエラーを修正する 多くのユーザーがさまざまなフォーラムでMicrosoftフォトアプリのエラーについて話し合っています

Macでクリップボードの履歴を表示する方法 Macでクリップボードの履歴を表示する方法 Sep 14, 2023 pm 12:09 PM

Finder から macOS クリップボード履歴を表示する Mac 上にあるもの (テキスト、画像、ファイル、URL など) をコピーすると、クリップボードに保存されます。 Mac に最後にコピーされた内容を確認する方法は次のとおりです。 Finder に移動し、メニュー バーの [編集] をクリックし、[クリップボードを表示] をクリックすると、macOS クリップボードの内容を示すウィンドウが開きます。 Mac で複数のアイテムを含むクリップボード履歴を取得する もちろん、ネイティブの Mac クリップボード履歴は、最も多機能なツールというわけではありません。最後にコピーしたものだけが表示されるため、複数のものを一度にコピーして貼り付けたい場合は、それができません。ただし、探している場合は、

iPhone および iPad で Boundless Notes アプリを使用する方法を学びます iPhone および iPad で Boundless Notes アプリを使用する方法を学びます Nov 18, 2023 pm 01:45 PM

iPhoneのバウンドレスノートとは何ですか? iOS17 の日記アプリと同様に、Boundless Notes は創造的な可能性を秘めた生産性向上アプリです。アイデアを現実に変えるのに最適な場所です。プロジェクトをスケジュールしたり、アイデアをブレインストーミングしたり、ムードボードを作成したりできるため、アイデアを表現するためのスペースが不足することがなくなります。このアプリを使用すると、写真、ビデオ、オーディオ、ドキュメント、PDF、Web リンク、ステッカーなどを無限のキャンバス上のどこにでも追加できます。 Boundless Notes のツールの多く (ブラシ、シェイプなど) は、Keynote や Notes などの iWork アプリを使用している人には馴染みのあるものです。フリーフォームを使用できるため、同僚、チームメイト、グループ プロジェクト メンバーとのリアルタイムのコラボレーションも簡単です。

形式がサポートされていないか、ファイルが破損しているため、写真ではこのファイルを開けません 形式がサポートされていないか、ファイルが破損しているため、写真ではこのファイルを開けません Feb 22, 2024 am 09:49 AM

Windows では、フォト アプリは写真やビデオを表示および管理するのに便利な方法です。このアプリケーションを通じて、ユーザーは追加のソフトウェアをインストールすることなく、マルチメディア ファイルに簡単にアクセスできます。ただし、写真アプリの使用時に「形式がサポートされていないため、このファイルを開けません」というエラー メッセージが表示されたり、写真やビデオを開こうとしたときにファイルが破損したりするなど、ユーザーが何らかの問題に遭遇することがあります。この状況はユーザーにとって混乱を招き不便になる可能性があり、問題を解決するには調査と修正が必要になります。ユーザーが写真アプリで写真またはビデオを開こうとすると、次のエラーが表示されます。申し訳ありませんが、この形式が現在サポートされていないか、ファイルがサポートされていないため、フォトではこのファイルを開くことができません

アプリケーション起動エラー0xc000012dの問題を解決する方法 アプリケーション起動エラー0xc000012dの問題を解決する方法 Jan 02, 2024 pm 12:53 PM

友人のコンピュータに特定のファイルが不足している場合、エラー コード 0xc000012d が表示されてアプリケーションが正常に起動できませんが、実際にはファイルを再ダウンロードしてインストールすることで解決できます。アプリケーションが正常に起動できません 0xc000012d: 1. まず、ユーザーは「.netframework」をダウンロードする必要があります。 2. 次に、ダウンロード アドレスを見つけて、コンピューターにダウンロードします。 3. 次に、デスクトップをダブルクリックして実行を開始します。 4. インストールが完了したら、間違ったプログラムの場所に戻り、プログラムを再度開きます。

Windows 11 で MS ペイントが正しく動作しない Windows 11 で MS ペイントが正しく動作しない Mar 09, 2024 am 09:52 AM

Microsoft ペイントは Windows 11/10 では動作しませんか?これは一般的な問題のようで、それを修正するための優れた解決策がいくつかあります。 MSPaint を使用しようとすると、機能しない、または開かないというユーザーからの苦情が寄せられています。アプリのスクロールバーが機能しない、貼り付けアイコンが表示されない、クラッシュなどが発生します。幸いなことに、Microsoft ペイント アプリに関する問題の解決に役立つ、最も効果的なトラブルシューティング方法をいくつか集めました。 Microsoft ペイントが動作しないのはなぜですか? MSPaint が Windows 11/10 PC で動作しない理由としては、次のようなことが考えられます。 セキュリティ識別子が破損しています。ハングアップしたシステム

caa90019 Microsoft Teams エラーを修正 caa90019 Microsoft Teams エラーを修正 Feb 19, 2024 pm 02:30 PM

多くのユーザーは、Microsoft Teams を使用してログインしようとするたびにエラー コード caa90019 が発生するという苦情を寄せています。便利なコミュニケーションアプリですが、この間違いはよくあることです。 Microsoft Teams エラーを修正する:caa90019 この場合、システムによって表示されるエラー メッセージは次のとおりです:「申し訳ありませんが、現在問題が発生しています。」 Microsoft Teams エラー caa90019 の解決に役立つ究極の解決策のリストを用意しました。準備手順 管理者として実行 Microsoft Teams アプリケーション キャッシュをクリア settings.json ファイルを削除 資格情報マネージャーから Microsoft をクリア

Apple Vision ProをPCに接続する方法 Apple Vision ProをPCに接続する方法 Apr 08, 2024 pm 09:01 PM

Apple Vision Pro ヘッドセットはコンピュータとネイティブ互換性がないため、Windows コンピュータに接続するように設定する必要があります。 Apple Vision Pro は発売以来、最先端の機能と充実した操作性を備えた大ヒット商品です。その理由は簡単にわかります。ただし、お使いの PC に合わせて調整することはできますが、その機能は AppleOS に大きく依存しているため、機能は制限されます。 AppleVisionPro をコンピュータに接続するにはどうすればよいですか? 1. システム要件を確認します 最新バージョンの Windows 11 が必要です (カスタム PC および Surface デバイスはサポートされていません) 64 ビット 2GHZ 以上の高速プロセッサをサポート 高性能 GPU、最大

See all articles