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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Обработка POST-данных функцией mysql_real_escape_string()

Сообщения:  [1-10]   [11-20] 

 
 автор: ladan   (08.01.2012 в 15:33)   письмо автору
 
   для: Slo_Nik   (08.01.2012 в 13:55)
 

Сейчас сайт на хостинге, в панели управления можно включать/отключать их. Если в будущем сайт буду переносить, то уже только на тот хостинг, чтоб была возможность их отключать, по идеи мне они вообще теперь не нужны. Если нужно заэкранировать, то функцией mysql_real_escape_string() :)

  Ответить  
 
 автор: Slo_Nik   (08.01.2012 в 13:55)   письмо автору
 
   для: ladan   (08.01.2012 в 13:48)
 

хотя с другой стороны возможно надо оставить проверку магических кавычек для того, что бы можно было переносить скрипт на другие хостинги. не на каждом Вам могут дать возможность отключать их через .htaccess, хостер может ограничить или вообще не дать возможность изменять настройки через .htaccess.

  Ответить  
 
 автор: ladan   (08.01.2012 в 13:48)   письмо автору
 
   для: Slo_Nik   (08.01.2012 в 13:09)
 

Спасибо, отключил кавычки.

Все подправил, теперь с безопасностью проблем не будет :)

  Ответить  
 
 автор: Slo_Nik   (08.01.2012 в 13:09)   письмо автору
 
   для: ladan   (08.01.2012 в 10:49)
 

магические кавычки автоматически экранируют символы, не всегда там где надо.
проверяйте, если кавычки включены, то удаляйте слеши, а перед записью в базу обрабатывайте mysql_real_escape_string()

<?php 
  
if(get_magic_quotes_gpc()) 
  { 
     
$_POST['name'] = stripslashes($_POST['name']); 
  } 
?>

можно кавычки отключить через .htaccess
php_flag magic_quotes_gpc off

  Ответить  
 
 автор: ladan   (08.01.2012 в 10:49)   письмо автору
 
   для: ladan   (08.01.2012 в 02:28)
 

а при магических ковычках включенных на хосте, стоит использовать еще mysql_real_escape_string?

Я заметил, что ковычки стали экранироваться тремя обратными слешами и в базу записываться и выводится \", то есть все равно один обратный слеш записывается в бд и выводится пользователю

Если пользоваться чем-то одним, то все нормально. В чем разница магических ковычек и mysql_real_escape_string?

  Ответить  
 
 автор: ladan   (08.01.2012 в 02:28)   письмо автору
 
   для: Slo_Nik   (08.01.2012 в 02:04)
 

ясно спасибо за инфу :)

  Ответить  
 
 автор: Slo_Nik   (08.01.2012 в 02:04)   письмо автору
 
   для: ladan   (08.01.2012 в 01:41)
 

эта функция специально предназначена для обработки данных в sql запросах, так зачем лепить preg_replace()?
Один из таких символов это одинарная кавычка '.
Если пользователь захочет записать в базу слово с данной кавычкой, то что получится?
Вы её удалите при помощи preg_replace() и что получится в итоге?
А так она будет экранирована на время запроса, попытка взлома потерпит неудачу, но в базу слово запишется без лишних слешей и сохранится пользовательский ввод.

  Ответить  
 
 автор: ladan   (08.01.2012 в 01:41)   письмо автору
 
   для: ladan   (08.01.2012 в 01:37)
 

какие символы использую в sql инъекциях? Тогда мне проще будет preg_replace'ом обработать эти символы и не пользоваться mysql_real_escape_string и проблема будет решена :)

  Ответить  
 
 автор: ladan   (08.01.2012 в 01:37)   письмо автору
 
   для: Slo_Nik   (08.01.2012 в 01:12)
 

Интересная функция, с работой бд не подходит. Если человеку нужно что-то отредактировать, то в этой текстовой ареи эти переносы продублируется при каждой записи в бд, что не очень хорошо :)

  Ответить  
 
 автор: Slo_Nik   (08.01.2012 в 01:12)   письмо автору
 
   для: ladan   (08.01.2012 в 00:44)
 

возможно Вам подойдёт функция nl2br()

  Ответить  

Сообщения:  [1-10]   [11-20] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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