この記事では、PHP で一般的に使用される文字エスケープ関数とセキュリティ関数を紹介します。これらの関数は、SQL インジェクションなどの最も一般的な攻撃方法をフィルタリングするために使用できます。
このセクションの内容: PHPエスケープ文字関数の使用法。 1.スラッシュを追加します addlashes は、(')、(")、()、(NUL) の 4 文字を含む、SQL ステートメント内の特殊文字をエスケープします。この関数は、DBMS に独自のエスケープ関数がない場合に使用されますが、DBMS に独自のエスケープ関数がある場合に使用されます。たとえば、MySQL には SQL をエスケープするための mysql_real_escape_string 関数があり、PHP5.3 より前では、magic_quotes_gpc がデフォルトで有効になっており、主に $GET、$POST、および $COOKIE に対してラッシュを実行することに注意してください。ただし、最新バージョンの PHP を使用している場合、magic_quotes_gpc は PHP5.3 で廃止され、PHP5.4 以降は削除されました。この質問はaddslashesのエスケープ関数です。 2.html特殊文字 htmlspecialchars は、(&)、(‘)、(")、() の 5 文字を含む、HTML 内のいくつかの特殊文字を HTML エンティティ (形式: &xxxx;) にエスケープします。 & (AND) => & " (二重引用符) => " (ENT_NOQUOTES が設定されていない場合) ' (シングルクォーテーション) => ' (ENT_QUOTES が設定されている場合) (大なり記号) => > htmlspecialchars を使用すると、$GET、$POST、$COOKIE データをフィルタリングして XSS を防ぐことができます。 htmlspecialchars 関数は、セキュリティ上のリスクがあると考えられる HTML 文字のみをエスケープすることに注意してください。HTML でエスケープできるすべての文字をエスケープしたい場合は、htmlentities を使用してください。 htmlspecialchars_decode は htmlspecialchars のデコード関数です。 3.htmlエンティティ htmlentities は、HTML 内のエスケープ可能なコンテンツを HTML エンティティにエスケープします。 html_entity_decode は htmlentities のデコード関数です。4.mysql_real_escape_string mysql_real_escape_string は、MySQL ライブラリ関数 mysql_real_escape_string を呼び出して (x00)、(n)、(r)、()、(‘)、(x1a) をエスケープします。つまり、SQL インジェクションを防ぐために前にバックスラッシュ () を追加します。データベース データを読み取るときにエスケープを解除するためにストリップスラッシュを呼び出す必要はないことに注意してください。これらのバックスラッシュはデータベースが SQL を実行するときに追加され、バックスラッシュはデータがデータベースに書き込まれるときに削除されるためです。は元のデータであり、前にバックスラッシュはありません。 5. ストリップタグ Strip_tags は、NUL、HTML、および PHP タグをフィルターで除外します。 6. 結論 PHP に付属するセキュリティ機能では XSS を完全に回避することはできません。HTML Purifier を使用することをお勧めします。 PHPエスケープの使い方を詳しく解説 PHPのデータのマジッククオート関数magic_quotes_gpcまたはmagic_quotes_runtime オンに設定すると、引用するデータに一重引用符、二重引用符、およびバックスラッシュが含まれる場合、バックスラッシュが自動的に追加され、記号が自動的に変換され、データ操作が正しく行われるようになります。 2 つの違い: magic_quotes_gpc アクションの範囲は次のとおりです。 WEB クライアント サーバー。 いつ: リクエストは、たとえばスクリプトの実行時などに開始されます。 magic_quotes_runtime スコープの範囲: ファイルから読み取られたデータ、exec() の実行結果、または SQL クエリから取得されたデータ。 アクションのタイミング: スクリプトが実行状態で生成されたデータにアクセスするたび。 見てわかるように magic_quotes_gpc の設定値は、Get/Post/Cookie によって取得されるデータに影響します。 magic_quotes_runtime の設定値は、ファイルから読み取られるデータ、またはデータベース クエリから取得されるデータに影響します。 関連付けるいくつかの関数: set_magic_quotes_runtime(): magic_quotes_runtime 値を 0=off に設定します。デフォルトの状態は、echo phpinfo() を通じて確認できます。 get_magic_quotes_gpc(): magic_quotes_gpc 値を表示します。0=off.1=on get_magic_quotes_runtime(): magic_quotes_runtime 値を確認してください。 0=オフ、1=オン。 set_magic_quotes_gpc() 関数がないことに注意してください。つまり、プログラム内で magic_quotes_gpc の値を設定することはできません。 2 つの値の設定の問題により、プログラミング中に混乱が生じたり、余分なエスケープが追加されたりする可能性があります。この場合は、プログラムの開始時またはデフォルト設定で設定および判断する必要があります。 両方の値がオフになっています。エスケープ部分はプログラムによって実行されます。 データが正常に挿入されることを保証するために、データを読み取るときは通常、addslashes を使用して処理し、多くの場合、stripslashes を使用して追加されたバックスラッシュを削除します。 PHPの同様の文字変換関数 addslashes は、によって指定された定義済み文字の前にバックスラッシュを追加します。 ストリップスラッシュは、addslashes() 関数によって追加されたバックスラッシュを削除します htmlspecialchars は、いくつかの事前定義された文字を HTML エンティティに変換します htmlspecialchars_decode は、いくつかの事前定義された HTML エンティティを文字に変換します html_entity_decode() は HTML エンティティを文字に変換します htmlentities() 文字を HTML エンティティに変換します |

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPは、多数のWebサイトとアプリケーションをサポートし、フレームワークを通じて開発ニーズに適応するため、近代化プロセスで依然として重要です。 1.PHP7はパフォーマンスを向上させ、新機能を紹介します。 2。Laravel、Symfony、Codeigniterなどの最新のフレームワークは、開発を簡素化し、コードの品質を向上させます。 3.パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率をさらに改善します。

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

PHPでは、クローンキーワードを使用してオブジェクトのコピーを作成し、\ _ \ _クローンマジックメソッドを使用してクローン動作をカスタマイズします。 1.クローンキーワードを使用して浅いコピーを作成し、オブジェクトのプロパティをクローン化しますが、オブジェクトのプロパティはクローニングしません。 2。\ _ \ _クローン法は、浅いコピーの問題を避けるために、ネストされたオブジェクトを深くコピーできます。 3.クローニングにおける円形の参照とパフォーマンスの問題を避けるために注意し、クローニング操作を最適化して効率を向上させます。

PHPはWeb開発およびコンテンツ管理システムに適しており、Pythonはデータサイエンス、機械学習、自動化スクリプトに適しています。 1.PHPは、高速でスケーラブルなWebサイトとアプリケーションの構築においてうまく機能し、WordPressなどのCMSで一般的に使用されます。 2。Pythonは、NumpyやTensorflowなどの豊富なライブラリを使用して、データサイエンスと機械学習の分野で驚くほどパフォーマンスを発揮しています。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
