Как отключить магические кавычки на виртуальном хостинге? - PullRequest
41 голосов
/ 05 февраля 2009

Я хочу отключить магические кавычки PHP. У меня нет доступа к php.ini.

Когда я пытался добавить php_flag magic_quotes_gpc off в мой файл .htaccess, я получаю внутреннюю ошибку 500 сервера. Вот как выглядит мой файл .htaccess:

AddType x-mapp-php5 .php
php_flag magic_quotes_gpc off

Затем я попытался использовать ini_set('magic_quotes_gpc', 'O'), но это не дало результата.

Как отключить магические кавычки?

Ответы [ 13 ]

0 голосов
/ 05 февраля 2009

Если вы не можете выключить его, вот что я обычно делаю:

get_magic_quotes_gpc() ? $_POST['username'] : mysql_real_escape_string($_POST['username']);

Он будет помещен в базу данных в правильном формате.

0 голосов
/ 05 февраля 2009
  1. Работает ли это, если вы удалите строку AddType? Я не совсем уверен, почему так важно отключать магические кавычки.

  2. Если PHP не работает под mod_php, htaccess не будет работать. Работает ли он как CGI?

Это действительно для вашей хостинговой компании.

0 голосов
/ 05 февраля 2009

Разные хостинг-провайдеры имеют разные процедуры для этого, поэтому я бы попросил на их форумах или подать запрос в службу поддержки.

Если вы не можете их отключить, вы всегда можете использовать что-то подобное, что будет избегать ввода независимо от того, включены ли магические кавычки:

//using mysqli

public function escapeString($stringToBeEscaped) {

    return $this->getConnection()->real_escape_string(stripslashes($stringToBeEscaped));
}
...