いくつかの SQL インジェクション攻撃対策機能の違い
SQL インジェクション攻撃は、ハッカーが Web サイトを攻撃するために使用する最も一般的な方法です。サイトで厳密なユーザー入力検証が使用されていない場合、SQL インジェクション攻撃に対して脆弱になることがよくあります。 SQL インジェクション攻撃は通常、不正なデータやクエリ ステートメントをサイト データベースに送信することによって実行され、データベース内のレコードが公開、変更、または削除される可能性があります。
SQL インジェクション攻撃を防ぐために、PHP には入力文字列を処理し、下位レベルで入力に対して事前のセキュリティ処理を実行できる関数、つまり Magic Quote が付属しています。 (php.ini magic_quotes_gpc)。 magic_quotes_gpc オプションが有効な場合、入力文字列内の単一引用符、二重引用符、およびその他の文字の前にバックスラッシュ / が自動的に付けられます。
しかし、Magic Quotes はあまり普遍的なソリューションではなく、潜在的に危険な文字をすべてブロックするわけではなく、多くのサーバーでは Magic Quotes が有効になっていません。したがって、SQL インジェクションを防ぐために、他のさまざまな方法も使用する必要があります。
多くのデータベースは、この入力データ処理機能をネイティブに提供します。たとえば、PHP の MySQL 操作関数には、addslashes()、mysql_real_escape_string()、mysql_escape_string() およびその他の関数が含まれており、特殊文字やデータベース操作エラーの原因となる可能性のある文字をエスケープできます。それでは、これら 3 つの機能の違いは何でしょうか?以下で詳しく説明しましょう。
国内の PHP プログラマーの多くは SQL インジェクションを防ぐために依然としてアドスラッシュに依存していますが、中国語での SQL インジェクションを防ぐためのチェックを強化することをお勧めします。 addslashes の問題は、ハッカーが単一引用符の代わりに 0xbf27 を使用できるのに対し、addslashes は 0xbf27 を 0xbf5c27 に変更するだけで、有効なマルチバイト文字になります。0xbf5c は依然として単一引用符とみなされ、そのため addslashes は正常にインターセプトできません。
もちろん、addslashes は役に立たないわけではなく、シングルバイト文字列の処理に使用されます。マルチバイト文字の場合は、mysql_real_escape_string を使用します。
さらに、PHP マニュアルの get_magic_quotes_gpc の例:
if (!get_magic_quotes_gpc()) { $lastname = addslashes($_POST[‘lastname’]); } else { $lastname = $_POST[‘lastname’]; }
magic_quotes_gpc がすでに開いているときに $_POST['lastname'] を確認するのが最善です。
2 つの関数 mysql_real_escape_string と mysql_escape_string の違いについて説明します。
mysql_real_escape_string は (PHP 4 >= 4.3.0、PHP 5) で使用する必要があります。 2 つの違いは、mysql_real_escape_string は接続の現在の文字セットを考慮するのに対し、mysql_escape_string は考慮しないことです。
要約:
*addslashes() は /;
* を強制的に追加します。mysql_real_escape_string() は文字セットを決定しますが、PHP の要件があります。 version;
* mysql_escape_string は接続の現在の文字セットを考慮しません。
dz での SQL インジェクションを防ぐには、addslashes 関数を使用し、dthmlspecialchars 関数でいくつかの置換を実行します $string = preg_replace('/&(((((/d{3,5}|x [ a-fA-F0-9]{4}));)/'、'&//1'、この置換によりインジェクションの問題が解決され、中国語の文字化けに関するいくつかの問題も解決されます
推奨学習: PHP ビデオ チュートリアル #
以上がいくつかの SQL インジェクション攻撃対策機能の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
