magic_quotes off - может ли код сломаться? - PullRequest
1 голос
/ 07 марта 2012

Если я отключаю magic_quotes в среде, где я не написал код, как я могу проверить, могут ли возникнуть какие-либо проблемы?Для чего я должен проверить?Какие функции могут больше не работать?

Ответы [ 3 ]

1 голос
/ 07 марта 2012

Когда magic_quotes включено, Magic Quotes автоматически выполняет addslashes() для всех отправленных данных формы. Это означает, что [\] помещается перед каждым ['], ["], [] или нулем в данных, поэтому That's nice будет автоматически преобразован в That\'s nice. Все это происходит еще до того, как ваше кодирование увидит данные, поэтому, если вы просто передаете строку на следующую страницу (не в базу данных), она будет печататься с косыми чертами, даже если вы можете вообще их не хотеть.

0 голосов
/ 07 марта 2012

Магические кавычки влияют на входящие строки данных. Это может повлиять на любое место, которое вы используете $_GET или $_POST или переменные такого типа.

В основном, в любом месте, куда вы принимаете данные от пользователя.

Примечание: Что более важно, вы должны просмотреть все ваших запросов SQL и убедиться, что любые входные строки экранированы! В противном случае ваш код будет уязвим для внедрения SQL.

0 голосов
/ 07 марта 2012

К сожалению, я не думаю, что есть простой ответ.Вы захотите проверить любое место, где вы работаете непосредственно с пользовательским вводом.Если код достаточно прост, вы можете искать использование $ _GET и $ _POST, но, по крайней мере, без проверки кода сканирования, вы вряд ли найдете все таким образом.ломать много, когда я отключаю это SQL запросы вставки / обновления, которые кто-то написал, которые содержат параметры запроса, которые они должным образом не экранировали.

...