簡體   English   中英

是否有PHP配置可以自動轉義雙引號?

[英]Is there a PHP configuration that will automatically escape double quotes?

我想知道是否有人知道會自動轉義雙引號的PHP設置。

我的問題是在本地服務器上,我將此字符串發布到服務器上:

{"0":{"id":"19","goal":"34"},"1":{"id":"22","goal":"657675"},"2":{"id":"21","goal":"456"}}

而且效果很好。 但是,在生產服務器上,我發布了相同的字符串,並在回顯它時將其更改為:

{\"0\":{\"id\":\"19\",\"goal\":\"34\"},\"1\":{\"id\":\"22\",\"goal\":\"657675\"},\"2\":{\"id\":\"21\",\"goal\":\"456\"}}

我設法通過string_replace()調用對其進行了修復,但是我想知道為什么會這樣。 生產服務器和本地服務器使用的是相同的代碼,並且已更新為使用相同的數據,因此我假設差異必須由服務器設置引起,但是我從未聽說過這樣做的設置。

有沒有人經歷過這樣的事情?

是。 它稱為魔術引號:

http://php.net/manual/zh/security.magicquotes.php

http://php.net/manual/zh/info.configuration.php#ini.magic-quotes-gpc

通常,您需要關閉此功能,並根據需要手動處理轉義。

這通常是“魔術引號”的問題。 他們是邪惡的,IMO。 如果可能, 應禁用它們

它們旨在保護您免受SQL注入攻擊,因此在禁用它們之后請務必小心。

您可以嘗試在發布的數據中使用單引號而不是雙引號

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM