Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Какими настройками php и apache задается автоматическое экранирование кавычек?
 
 автор: antf   (27.10.2007 в 10:14)   письмо автору
 
 

Здравствуйте.
Про

magic_quotes_runtime = Off
magic_quotes_gpc = On

я уже знаю и обрабатываю. Но пользователи моих приложений иногда жалуются на криминальное экранирование кавычек. Какие настройки php и apache отвечают за это?

Заранее спасибо.

   
 
 автор: Unkind   (27.10.2007 в 11:18)   письмо автору
 
   для: antf   (27.10.2007 в 10:14)
 

Apache, к счастью, этим не занимается.

"Криминальное" экранирование может быть по Вашей вине. Вы где-то используете при включенном magic_quotes_gpc функции addslashes(), mysql_escape_string() или аналоги?

   
 
 автор: antf   (27.10.2007 в 11:39)   письмо автору
 
   для: Unkind   (27.10.2007 в 11:18)
 

Да, но я делаю так:

if (!get_magic_quotes_gpc())
$str = mysql_escape_string($str);

   
 
 автор: antf   (28.10.2007 в 20:00)   письмо автору
 
   для: antf   (27.10.2007 в 11:39)
 

Криминальные слэши расставлялись браузером Opera.

   
 
 автор: Unkind   (28.10.2007 в 20:11)   письмо автору
 
   для: antf   (27.10.2007 в 11:39)
 

if (!get_magic_quotes_gpc()) $str = mysql_escape_string($str);

Не очень хорошо, т.к. если после выполнения запроса Вы выведете значение $str на страницу, то строка будет "криминально заэкранирована".

<?php
$str 
= isset($_POST['str']) ? (string) $_POST['str'] : '';

if( 
get_magic_quotes_gpc() )
{
    
$str stripslashes$str );
}

//...

$query "INSERT INTO `tbl` SET `str` = '" mysql_escape_string($str) . "';";

//...

echo "String: " $str;
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования