101 повідомлення
#15 років тому
Всем приветphp_flag magic_quotes_gpc 0
php_flag magic_quotes_runtime 0
В htaccess прописаны такие строки и из-за них сервер выдает ответ 500(Internal Server Error)
Какая причина? Без этих строк все работает - их можна убрать или заменить? Стабильность не пропадет работы сайта?
Спасибо
16382 повідомлення
#15 років тому
Можно удалить. Отвечают за безопасность. Позволяют автоматом резать из входящих данных потенциально опасные символы.Цитата:
Установка magic_quotes для GPC (Get/Post/Cookie) операций. Когда magic_quotes включены (on), все ' (одиночные кавычки), " (двойные кавычки), \ (слэши) и ПУСТОТЫ экранируются с бэкслэшами автоматически.
279 повідомлень
#15 років тому
Magic_quotes считаются устаревшими в пхп версии 5.3.0 и будут полностью удалены из версии 6.0.0 сейчас считается,что по умолчанию в настройках php.ini должно быть выкл,а вашем случае это еще раз выключается. Можно смело удалить я считаю
248 повідомлень
#15 років тому
Если сайт делался без учета того, что могут быть включены эти самые опции в php.ini включены, то все кавычки будут экранироваться слешем.Проверить можно через
<?php
phpinfo();
?>
>5.3.0
Никто не ставит на публичный хостинг такую версию иначе всех клиентов растеряют.
50 повідомлень
#15 років тому
Цитата ("_VersouL_"):Magic_quotes считаются устаревшими в пхп версии 5.3.0 и будут полностью удалены из версии 6.0.0 сейчас считается,что по умолчанию в настройках php.ini должно быть выкл,а вашем случае это еще раз выключается. Можно смело удалить я считаю
Для совместимости с более ранними версиями PHP лучше при разработке скрипта учитывать, что магические кавычки могут быть включены. Следовательно, сразу после получения данных из GET / POST / COOKIE обрабатывать их:
<?php
if(get_magic_quotes_gpc()){
$text = stripslashes($_POST);
}
?>
А перед добавлением данных в БД обрабатывать при помощи mysql_escape_string() и intval().