magic_quotes_gpc が動的に閉じられるのはなぜ無効ですか?
この記事では主に、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 サイトの他の関連記事を参照してください。

ホット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)

ホットトピック

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

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

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

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

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

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

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

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