8

これは非常に一般的で些細なことのように聞こえますが、ここで挑戦しています。Zend/Doctrine を使用した Web サイトがあり、バックエンド管理に ckeditor を使用しています。サイトをアップロードした後、編集テスト中にサイトのルック アンド フィールがおかしくなっていることに気付きました。

firebug の助けを借りて、html 全体にスラッシュがあることがわかりました。インライン編集の後、ルック アンド フィールは正常に戻りました。非常に多くのファイルがあり、mysql からデータを出力する前に他のデコードを行うことは考えられません。

この問題を解決するには、どのようなオプションが必要ですか。サイトはすでにアップされており、これについては少し違和感があります。誰でもヒントを与えることができますか?ありがとう

4

5 に答える 5

9

かもしれませんmagic_quotes_gpc。オフになっていることを確認できますか?

オフにする方法は次のとおりです。 http://php.net/manual/en/security.magicquotes.disabling.php

GPC (Get/Post/Cookie) 操作の magic_quotes 状態を設定します。magic_quotes がオンの場合、すべての ' (一重引用符)、" (二重引用符)、\ (バックスラッシュ)、および NUL は自動的にバックスラッシュでエスケープされます。

また、準備済みステートメントを使用していますか?PHP PDO/MySQLI は自動的にエスケープします。使用しているクエリの種類によって異なります。

于 2012-06-20T01:17:59.823 に答える
5

データベースに挿入される前に、データが二重にエスケープされているようです。データベースにデータを挿入する前mysql_real_escape_stringまたは使用していますか? addslashesもしそうなら、次のようにデータを挿入する前にストリップスラッシュを使用したいかもしれません:

mysql_real_escape_string(stripslashes($data));

または、データベースからデータを取り出した後に、理論的にはストリップスラッシュを呼び出すことができます。

stripslashes($data);

ただし、2 番目の方法はあまり望ましくありません。データベースにデータを適切に格納する方がよいでしょう。

于 2012-06-20T01:27:07.417 に答える
4

みんなの助けに感謝します。本当に受け入れられる解決策は、@StanislavPalatnikからのものでなければなりません。.htaccessでは機能しませんでした。ホスティングサーバーは、php.iniをpublic_htmlに入れて、変更できるようにするのに十分な機能を備えていました。それで、彼が問題を指摘したので、@StanislavPalatnikに+1します。また、誰かが私の状況に陥った場合に備えて共有したいと思った興味深い情報も見つけました。

info from: http://support.godaddy.com/groups/web-hosting/forum/topic/how-to-turn-off-magic_quotes_gpc/
Yes – the solution below worked for me:

(1) First of all do not try to turn off the magic quotes in your .htaccess file, it won’t work on godaddy.
(2) Second, if you’re running PHP5 on your account, rename your php.ini file to php5.ini, make sure it’s in your root folder.
(3) Third, make sure all the lines in your php5.ini file end in a semi colon ;
(4) Fourth, add this line to your php5.ini file:
magic_quotes_gpc = Off;

同じページで、誰かがそれはmagic_quotes_gpcだけでなく、以下に示すような他のものでもあるべきだと言いました。

magic_quotes_gpc = Off;
magic_quotes_runtime = Off;
magic_quotes_sybase = Off;

これが誰かを助けたことを願っています。@StanislavPalatnikに感謝します

于 2012-06-21T09:27:33.333 に答える
2

これが魔法の引用符の問題であり、application.ini にしかアクセスできないことを思い出した場合は、次を追加して試してみてください。

phpSettings.magic_quotes_gpc = 0
phpSettings.magic_quotes_runtime = 0

これには、ユーザー/ユーザーグループがデフォルトのphp設定を変更できるようにする必要があります;)

于 2012-06-20T05:11:03.260 に答える