Магические кавычки по своей сути нарушены. Они предназначались для дезинфекции ввода в сценарий PHP, но, не зная, как этот ввод будет использоваться, невозможно провести правильную дезинфекцию. Во всяком случае, вам лучше проверить, включены ли магические кавычки, затем вызвать stripslashes () в $ _GET / $ _ POST / $ _ COOKIES / $ _ REQUEST, а затем санировать переменные в той точке, где вы их где-то используете. Например. urlencode (), если вы используете его в URL, htmlentities (), если вы печатаете его обратно на веб-страницу, или используйте функцию экранирования вашего драйвера базы данных, если вы храните его в базе данных. Обратите внимание, что эти входные массивы могут содержать вложенные массивы, поэтому вам может потребоваться написать функцию, которая может возвращаться в вложенные массивы, чтобы убрать и эти слэши.
Справочная страница PHP по магическим кавычкам согласна:
"Эта функция устарела как
PHP 5.3.0 и УДАЛЕНО как PHP
5.4.0. Полагаться на эту функцию крайне не рекомендуется. Волшебные цитаты
процесс, который автоматически уходит
входящие данные в скрипт PHP. Это
предпочтительнее кодировать магическими кавычками
выключить и вместо этого избежать данных в
время выполнения, по мере необходимости. "