2012-04-29 68 views
2

我使用的Symfony2版本2.0.5與捆綁的Doctrine ORM解決方案。由於我將開發環境從dev改爲prod,所以當我堅持數據庫時,所有表單輸入都會被轉義。現在我知道這是防止sql注入的正確行爲,但是在取回數據時,字符串不會未轉義。因爲我直接將JSON字符串保存到數據庫,這造成了很大的問題。 此外,每次更新此數據時,字符串都會一次又一次地被轉義。 我的問題是,我可以停用某些字段的轉義嗎?或者,我可以在從數據庫中提取時忽略這些值。 爲什麼這隻發生在產品環境?這是打算?Symfony2 - Doctrine自動轉義輸入字段

最好的問候,大衛!

回答

1

這可能是由PHP配置引起的 - 而不是由Symfony或Doctrine引起的。在php.ini中,找到從magic_quotes_開始的所有選項,並將它們設置爲Off。不要忘記重新啓動服務器。

+0

感謝您的回覆。我讀了關於魔術引號,並檢查了php.ini,但他們都關閉了。我現在確實相信,這不是一個symfony或學說問題。還有其他的可能嗎?也許是錯誤的字符編碼?實際上,我們將應用程序移至不同的服務器。但數據庫配置是相同的。 – marmeblade 2012-04-29 14:26:50

+0

我只是看了帖子數據。逃跑發生在那裏,這告訴我,它必須是魔術引號。但他們沒有被激活。除了魔術引號之外,還有另外一個機制能夠做到這些嗎? – marmeblade 2012-04-29 15:34:29

+0

好吧,我測試魔術引號是否啓用,他們是。謝謝你的幫助,elnur。現在我需要找到他們啓用的位置。它們在php.ini中未啓用。還有另一種可能嗎? – marmeblade 2012-04-29 15:43:40