問題タブ [magic-quotes-gpc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHPは、GETまたはPOSTによって渡される文字列の引用符を自動エスケープしますか?
ファイルを検討してくださいa.php
:
a.php?a=abcd'
印刷しabcd\'
ます。
PHPの自動エスケープ引用符だと思いますが、これに関するドキュメントが見つかりませんでした。
それは本当ですか?確認したいので-私はかなり怠惰なので、PHPソースコードでのSQLインジェクションを妨げませんでした...
php - Zend Framework の二重エスケープ
私はプロジェクトの教義で Zend フレームワークを使用しています。問題は、データベースに O'Shea のような文字列を挿入すると、O\'Shea が挿入されることです。これは二重エスケープが原因だと思います。1 つは投稿を取得するとき、もう 1 つは doctrine を使用するとき、なぜ print_r($_POST) のときにすでにエスケープされた値を取得するのですか?
教義クエリの構文は次のとおりです。
この二重エスケープを回避する方法を教えてください。または何が問題なのですか? ありがとう。
php - php.iniまたは.htaccessなしでphpマジッククォートを無効にする最良の方法
有効な共有サーバーで実行される移植可能なコードを作成する必要がありますが、magic_qoutes_gpc
それを php.ini または .htaccess で変更できません。(サーバーはphp 5.2を実行しています)
$_GET
などのすべてのスーパーグローバルからスクラッチを削除する関数は多数あるようですが、どれ$_POST
が最適かはわかりません。また、ここのいくつかのコメントは、キーにもスラッシュが追加されているため、削除する必要があると言っているようです。したがって、PHP Web サイトのものを使用する必要があります。
またはこのようなもの:(この回答から:PHP - Shorter Magic Quotes Solution)
またはこのようなもの:
誰かが各アプローチおよび/またはまったく異なるアプローチの長所/短所、およびそれらがどれほど徹底しているか、およびキーと値からスラッシュを取り除くかどうかを説明できますか?
(また、この方法は良いです:PHP:マジッククォートがオンのときに配列内のエスケープされた引用符を(正しく)削除する方法)
(また、影響を受けるすべてのスーパーグローバルからスラッシュを削除しないため、これらの方法はすべて不完全なようですmagic_quotes_gpc = 1 の影響を受けるスーパーグローバルは? )
php - 魔法の引用符、それでもスラッシュ
引用符にスラッシュが付いているタグから$_POST変数が入っています。魔法の引用符がオフになっていることはわかっています。オフになっている場合は、if(get_magic_quotes_gpc())ステートメントを使用してスラッシュを削除します。ただし、スラッシュはまだ追加されています。何故ですか?
形
PHP
だから、私はしました、
magento - magic_quotes_gpc が off に設定されている場合にエスケープされる引用符
magic_quotes_gpc
が に設定されている場合、Magento はアポストロフィをエスケープしていますoff
。に設定magic_quotes_gpc
するとon
、Magento はスラッシュの挿入を停止します。完全に後ろ向きです。
Magento にアポストロフィをエスケープさせることはできませんが、自分のサイトの他の部分 (vBulletin フォーラム、Wordpress ブログなど) に影響を与える可能性があるため、magic_quotes_gpc
設定したくありません。on
注意すべき点 - Magento は常にこのように動作していたわけではなく、今日始まったばかりです。
編集: CMS ページの 1 つのレイアウト更新 XML に次のコードを追加した後に、動作が開始されました。
奇妙な動作が始まった後、そのコードを削除しましたが、問題は解決しませんでした。
php - PHP 5.3で「magic_quotes_gpc」を有効にできますか?
PHP 5.3では、「magic_quotes_gpc」を有効にできますか?
PHP 5.3で非推奨になっていることは理解していますが、インストールしているPHPスクリプトではこれが必要です。そうでない場合は機能しません。
php - php.ini/.htaccess が編集できない場合、マジック クォートを削除するにはどうすればよいですか?
何らかの理由で、すべての引用符がエスケープされて \" として表示されます。以前は問題ありませんでした。次に phpinfo() を調べたところ、magic_quotes_gpc がオンになっていることがわかりました。しかし、ディレクトリ /usr/local/ が見つかりません。 lib/ php.ini ファイルがあり、.htaccess ファイルを編集できません (500 内部サーバー エラーが発生します)。
代わりに、これをスクリプト ファイル (すべてのページに含まれています) の上に置いてみました。
それでも、私のページの " と ' にはまだバックスラッシュが含まれています。
私は何を間違っていますか?
php - 魔法の引用符はSQLインジェクションに対して脆弱ですか?ストリップスラッシュを使用してから入力をサニタイズする必要がありますか?
私はこれらの魔法の引用について混乱しています。
それらは私のサーバーで有効になっています、そして私の質問は私が次のような関数を使ってそれらを無効にするべきかということです:
入力をサニタイズするため、またはすべての仕事を魔法の引用符に任せる必要があります。
私は(学習目的で)SQLインジェクションを練習していて、魔法の引用符がオンになっていると何もできませんが、上記のコードを使用するとSQLインジェクションを実行できます。
だから私は魔法の引用符に固執するか、次のような関数を使用する必要があります:
入力のサニタイズについてはあまり経験がないので、助けてください:(
aop - FLOW3 では、PHP 設定「magic_quotes_gpc」を Off に設定する必要があります。(エラー #1224003190)
MacでFLOW3を構成しているときにphp.ini
、設定に関して変更し、magic_quotes_gpc = off
サーバーを再起動すると、magic_quotes_gpc = off
ブラウジングで取得できますが、http://localhost:8888/MAMP/phpinfo.php
実行すると:
$ ./flow3 kickstart:パッケージ Acme.Demo
次のエラー メッセージが表示されます。
FLOW3 では、PHP 設定「magic_quotes_gpc」を Off に設定する必要があります。(エラー #1224003190)
何が問題なのか誰にもわかりますか?
php - magic_quotes_qpc がオンのときに、PHP コードを格納するポータブル パスワードを作成することは可能ですか?
私は最初のウェブサイトを開発しています。私の共有ホスティング プロバイダーは、magic_quotes_qpc をオンにしており、それを変更したくありません。私が理解しているように、パスワードの保存には次の問題があります。 1. ユーザーが「strong'password」のような値を登録フォームに入力します。2. Php は値 "strong/'password" を DB (またはそれに基づくハッシュ) に書き込みます。3. ユーザーがログインする場合、パスワードとして「strong'password」と入力します。4. Php はそれを「strong/'password」に変換します。これは DB と同じ値であるため、ユーザーは正常に入力されます。
そして、magic_quotes_qpc をオンにせずに、ホスティング プロバイダーを別のプロバイダーに変更するまで、問題なく動作します。そのようなアカウントはすべて壊れます。ストリップスラッシュを使用すると、「strong/password」が不安定になります。パスワードでの使用を禁止するシングルクォートとダブルクォートを作成する必要があるようです。
マジック クォート アルゴリズムを正しく理解できましたか? はいの場合、この問題について何か考えはありますか?