2

バンドルされたDoctrineORMソリューションでSymfony2バージョン2.0.5を使用しています。環境をdevからprodに変更したため、データベースに永続化するときに、すべてのフォーム入力がエスケープされます。これがSQLインジェクションを防ぐための正しい動作であることがわかりましたが、データをフェッチして戻すときに、文字列がエスケープ解除されることはありません。JSON文字列をデータベースに直接保存するため、これが大きな問題を引き起こしています。また、このデータを更新するたびに、文字列は何度もエスケープされます。私の質問は、特定のフィールドのエスケープを無効にできますか?または、DBからフェッチするときに値をエスケープ解除できますか?そして、なぜこれは製品環境でのみ発生するのですか?これは意図されたものですか?

よろしく、デビッド!

4

1 に答える 1

1

これはおそらくPHPの設定が原因であり、SymfonyやDoctrineが原因ではありません。で、php.iniで始まるすべてのオプションを見つけてmagic_quotes_、に設定します Off。サーバーを再起動することを忘れないでください。

于 2012-04-29T13:34:31.070 に答える