マジッククオートとは
オンにすると、すべての ' (一重引用符)、" (二重引用符)、(バックスラッシュ)、および NULL 文字はバックスラッシュで自動的にエスケープされます。これは、addslashes( ) と同じ効果があります。
マジック クォート命令は 3 つあります:
magic_quotes_gpc は HTTP リクエスト データ (GET、POST、COOKIE) に影響します。
magic_quotes_runtime オンにすると、データを取得するほとんどの関数によってデータが返されます。データベースやテキスト ファイルなどの外部ソースはバックスラッシュでエスケープされます。このオプションは PHP の実行時に変更できます。デフォルト値は set_magic_quotes_runtime() および get_magic_quotes_sybase() を参照してください。バックスラッシュの代わりに一重引用符を使用します。このオプションがオンになっている場合、一重引用符は '' としてエスケープされます。方法については、ini_get() を参照してください。値を取得するには、バックスラッシュを使用します。バックスラッシュで囲まれた文字列
説明
stringaddslashes (string $str)
SQL インジェクションの問題が ASP で話題になりました? 国内外の有名な PHP プログラムが「苦境に陥った」。 SQLインジェクションの詳細についてはネット上に記事が多すぎるのでここでは紹介しません。
Web サイトスペースの php.ini ファイル内の magic_quotes_gpc がオフに設定されている場合、フォームによって送信されたコンテンツには一重引用符 (' ) などの機密文字が含まれる可能性があるため、PHP は機密文字の前にバックスラッシュ () を追加しません。 、SQL インジェクションの脆弱性につながります。この場合、addslashes() を使用して問題を解決できます。これは、機密文字の前にバックスラッシュを自動的に追加します。ただし、上記の方法は、magic_quotes_gpc=Off の場合にのみ適用されます。開発者としては、各ユーザーの magic_quotes_gpc がオンかオフかわかりません。すべてのデータが addslashes() で使用される場合、それは「無実の人々を無差別に殺害する」ことになりませんか? magic_quotes_gpc=On で、addslashes() 関数が使用されている場合を見てみましょう:
//変数 $_POST['message'] がフォームから送信された場合、コンテンツはトムの本です
/ /これは MySQL データベースに接続するためのコードです。自分で記述してください
//$_POST['message'] の機密文字の前にバックスラッシュを追加します
$_POST['message'] =addslashes($_POST['message ' ]);
$sql = "INSERT INTO msg_table VALUE('$_POST[message]');";
//リクエストを送信し、メッセージを保存しますコンテンツをデータベースに追加します
$query = mysql_query($sql);
//このレコードをデータベースから抽出して出力すると、トムの本が表示されます
?>
この場合、magic_quotes_gpc =On環境では、入力されたすべての一重引用符 (') は (') になります...
実際、この問題は get_magic_quotes_gpc() 関数を使用して簡単に解決できます。 magic_quotes_gpc=On の場合、この関数は TRUE を返し、magic_quotes_gpc=Off の場合、FALSE を返します。この時点で、問題が解決したことに多くの人が気づいたはずです。コードを参照してください:
//magic_quotes_gpc=Off の場合は、船荷証券に送信される $_POST['message'] の機密文字にバックスラッシュを追加します
//magic_quotes_gpc=On の場合は、
if ( !get_magic_quotes_gpc) を追加しないでください()) {
$_POST['message'] =addslashes($_POST['message']);
} else {}
?>
実際、この時点で問題は解決されています。ここでもう 1 つの小さなトリックをご紹介します。
フォームに複数の変数が送信される場合があります。場合によっては、12 を超える変数が存在する場合もあります。では、addslashes() を何度もコピー&ペーストするのは少し面倒でしょうか?フォームや URL から取得したデータはすべて $_POST、$_GET などの配列形式で表示されるため、関数:
関数引用符($content)
{
//magic_quotes_gpc=Off の場合、処理を開始します
if (!get_magic_quotes_gpc()) {
//$content が配列かどうかを判断します
if (is_array($content)) {
/ /If $content は配列であり、その各要素を処理します
foreach ($content as $key=>$value) {
$content[$key] =addslashes($value);
}
} else {
// $content が配列でない場合、一度だけ処理されます
addslashes($content);
}
} else {
//magic_quotes_gpc=On の場合、処理されません
}
//Return $content
return $content;
}
?>

PHPは、特にWeb開発の分野で、最新のプログラミングで強力で広く使用されているツールのままです。 1)PHPは使いやすく、データベースとシームレスに統合されており、多くの開発者にとって最初の選択肢です。 2)動的コンテンツ生成とオブジェクト指向プログラミングをサポートし、Webサイトを迅速に作成および保守するのに適しています。 3)PHPのパフォーマンスは、データベースクエリをキャッシュおよび最適化することで改善でき、その広範なコミュニティと豊富なエコシステムにより、今日のテクノロジースタックでは依然として重要になります。

PHPでは、弱い参照クラスを通じて弱い参照が実装され、ガベージコレクターがオブジェクトの回収を妨げません。弱い参照は、キャッシュシステムやイベントリスナーなどのシナリオに適しています。オブジェクトの生存を保証することはできず、ごみ収集が遅れる可能性があることに注意する必要があります。

\ _ \ _ Invokeメソッドを使用すると、オブジェクトを関数のように呼び出すことができます。 1。オブジェクトを呼び出すことができるように\ _ \ _呼び出しメソッドを定義します。 2。$ obj(...)構文を使用すると、PHPは\ _ \ _ Invokeメソッドを実行します。 3。ロギングや計算機、コードの柔軟性の向上、読みやすさなどのシナリオに適しています。

繊維はPhp8.1で導入され、同時処理機能が改善されました。 1)繊維は、コルーチンと同様の軽量の並行性モデルです。 2)開発者がタスクの実行フローを手動で制御できるようにし、I/O集約型タスクの処理に適しています。 3)繊維を使用すると、より効率的で応答性の高いコードを書き込むことができます。

PHPコミュニティは、開発者の成長を支援するための豊富なリソースとサポートを提供します。 1)リソースには、公式のドキュメント、チュートリアル、ブログ、LaravelやSymfonyなどのオープンソースプロジェクトが含まれます。 2)StackOverFlow、Reddit、およびSlackチャネルを通じてサポートを取得できます。 3)開発動向は、RFCに従うことで学ぶことができます。 4)コミュニティへの統合は、積極的な参加、コード共有への貢献、および学習共有への貢献を通じて達成できます。

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

PHPは死にかけていませんが、常に適応して進化しています。 1)PHPは、1994年以来、新しいテクノロジーの傾向に適応するために複数のバージョンの反復を受けています。 2)現在、電子商取引、コンテンツ管理システム、その他の分野で広く使用されています。 3)PHP8は、パフォーマンスと近代化を改善するために、JITコンパイラおよびその他の機能を導入します。 4)Opcacheを使用してPSR-12標準に従って、パフォーマンスとコードの品質を最適化します。

PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

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

Dreamweaver Mac版
ビジュアル Web 開発ツール

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