ホームページ バックエンド開発 PHPチュートリアル magic_quotes_gpc が動的に閉じられるのはなぜ無効ですか?

magic_quotes_gpc が動的に閉じられるのはなぜ無効ですか?

Feb 24, 2018 pm 02:41 PM
magic quotes なぜ

この記事では主に、PHP での magic_quotes_gpc の無効な動的クローズの問題について説明します。この種の問題の解決に役立つことを願っています。

昨日オンライン プロジェクトを閲覧していると、問題を発見しました。一部のテキスト出力では、引用符の前に余分なバックスラッシュがあります。たとえば、次のとおりです。

引用符内の「バックスラッシュ」が多すぎます

に表示された結果から判断すると、ページでは、PHP の magic_quotes_gpc 設定がオンになっているためだと思われます。次に、プログラムを確認したところ、エントリ ファイルで次の設定が動的に閉じられていることがわかりました。

ini_set('magic_quotes_gpc', 'Off'); なぜ有効にならなかったのですか?

いくつか検索した結果、同僚が理由を見つけるのを手伝ってくれました。この構成を動的に変更する前にリクエストが解析されていたため、現在のリクエストには変更が反映されなかったことがわかりました。

詳細については、次の Web ページを参照してください。同僚も同じ問題に遭遇しました。

https://bugs.php.net/bug.php?id=32867

magic_quotes_gpc は、PHP スクリプトが取得される前のリクエストの解析中に適用されます。コントロールなので、スクリプトでこの設定を変更できますが、何の効果もありません。

サーバー上に複数のプロジェクトがあることを考えると、他のプロジェクトに影響を与えないように、php.ini の設定を直接変更することはできません。 、そのため、Molu vs. Recall によって書かれたコードを採用し、gpc コンテンツを再帰的に処理します:

if (ini_get('magic_quotes_gpc')) {
function stripslashesRecursive(array $array)
{
foreach ($array as $k => $v) {
if (is_string($v)) {
$array[$k] = stripslashes($v);
} else if (is_array($v)) {
$array[$k] = stripslashesRecursive($v);
}
}
return $array;
}
$_GET = stripslashesRecursive($_GET);
$_POST = stripslashesRecursive($_POST);
}
ログイン後にコピー

関連する推奨事項:

php get_magic_quotes_gpc() 関数の使用方法

PHP の自動エスケープの問題、magic_quotes_gpc によって残された歴史的問題について設定

PHPのget_magic_quotes_gpc関数の使い方の紹介

以上がmagic_quotes_gpc が動的に閉じられるのはなぜ無効ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

H5ページの生産には継続的なメンテナンスが必要ですか? H5ページの生産には継続的なメンテナンスが必要ですか? Apr 05, 2025 pm 11:27 PM

H5ページは、コードの脆弱性、ブラウザー互換性、パフォーマンスの最適化、セキュリティの更新、ユーザーエクスペリエンスの改善などの要因のため、継続的に維持する必要があります。効果的なメンテナンス方法には、完全なテストシステムの確立、バージョン制御ツールの使用、定期的にページのパフォーマンスの監視、ユーザーフィードバックの収集、メンテナンス計画の策定が含まれます。

インラインブロック要素が不発になるのはなぜですか?この問題を解決する方法は? インラインブロック要素が不発になるのはなぜですか?この問題を解決する方法は? Apr 04, 2025 pm 10:39 PM

インラインブロック要素の誤った整列ディスプレイの理由とソリューションに関して。 Webページのレイアウトを書くとき、私たちはしばしばいくつかの奇妙な表示の問題に遭遇します。比較する...

H5ページの生産の利点は何ですか H5ページの生産の利点は何ですか Apr 05, 2025 pm 11:48 PM

H5ページの生産の利点には、軽量エクスペリエンス、積み込み速度、ユーザー保持の改善が含まれます。クロスプラットフォームの互換性、さまざまなプラットフォームに適応する必要はなく、開発効率を向上させます。柔軟性と動的な更新、監査が不要で、コンテンツの変更と更新が容易になります。ネイティブアプリよりも費用対効果の高い開発コスト。

フレックスレイアウト内の紫色のスラッシュ領域が誤って「オーバーフロー空間」と見なされるのはなぜですか? フレックスレイアウト内の紫色のスラッシュ領域が誤って「オーバーフロー空間」と見なされるのはなぜですか? Apr 05, 2025 pm 05:51 PM

フレックスレイアウトの紫色のスラッシュ領域に関する質問フレックスレイアウトを使用すると、開発者ツールなどの混乱する現象に遭遇する可能性があります(D ...

Routerフォルダーの下のindex.jsファイルでvue.use(vuerouter)を呼び出す必要があるのはなぜですか? Routerフォルダーの下のindex.jsファイルでvue.use(vuerouter)を呼び出す必要があるのはなぜですか? Apr 05, 2025 pm 01:03 PM

Vueアプリケーションを開発するときに、ルーターフォルダーの下にindex.jsファイルにvuerouterを登録する必要性があるため、ルーティング構成で問題が発生することがよくあります。特別...

要素のSCSS変数をオーバーライドすることにより、カスタムテーマを実装する方法は? 要素のSCSS変数をオーバーライドすることにより、カスタムテーマを実装する方法は? Apr 05, 2025 pm 01:45 PM

要素のSCSS変数をオーバーライドすることにより、カスタムテーマを実装する方法は?要素を使用...

エッジブラウザの特定のDIV要素が表示されないのはなぜですか?この問題を解決する方法は? エッジブラウザの特定のDIV要素が表示されないのはなぜですか?この問題を解決する方法は? Apr 05, 2025 pm 08:21 PM

ユーザーエージェントスタイルシートによって引き起こされるディスプレイの問題を解決する方法は? Edgeブラウザを使用する場合、プロジェクトのDIV要素を表示することはできません。チェックした後、私は投稿しました...

router/index.jsファイルにvuerouterを登録する必要があるのはなぜですか? router/index.jsファイルにvuerouterを登録する必要があるのはなぜですか? Apr 04, 2025 pm 11:21 PM

Routerフォルダーの下にindex.jsファイルにvuerouterを登録する必要があるのはなぜですか? Vue.jsアプリケーションでは、ルーティングシステムは非常に重要な部分です...

See all articles