|
|
|
|
|
для: Slo_Nik
(08.01.2012 в 13:55)
| | Сейчас сайт на хостинге, в панели управления можно включать/отключать их. Если в будущем сайт буду переносить, то уже только на тот хостинг, чтоб была возможность их отключать, по идеи мне они вообще теперь не нужны. Если нужно заэкранировать, то функцией mysql_real_escape_string() :) | |
|
|
|
|
|
|
|
для: ladan
(08.01.2012 в 13:48)
| | хотя с другой стороны возможно надо оставить проверку магических кавычек для того, что бы можно было переносить скрипт на другие хостинги. не на каждом Вам могут дать возможность отключать их через .htaccess, хостер может ограничить или вообще не дать возможность изменять настройки через .htaccess. | |
|
|
|
|
|
|
|
для: 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 в 02:28)
| | а при магических ковычках включенных на хосте, стоит использовать еще mysql_real_escape_string?
Я заметил, что ковычки стали экранироваться тремя обратными слешами и в базу записываться и выводится \", то есть все равно один обратный слеш записывается в бд и выводится пользователю
Если пользоваться чем-то одним, то все нормально. В чем разница магических ковычек и mysql_real_escape_string? | |
|
|
|
|
|
|
|
для: Slo_Nik
(08.01.2012 в 02:04)
| | ясно спасибо за инфу :) | |
|
|
|
|
|
|
|
для: ladan
(08.01.2012 в 01:41)
| | эта функция специально предназначена для обработки данных в sql запросах, так зачем лепить preg_replace()?
Один из таких символов это одинарная кавычка '.
Если пользователь захочет записать в базу слово с данной кавычкой, то что получится?
Вы её удалите при помощи preg_replace() и что получится в итоге?
А так она будет экранирована на время запроса, попытка взлома потерпит неудачу, но в базу слово запишется без лишних слешей и сохранится пользовательский ввод. | |
|
|
|
|
|
|
|
для: ladan
(08.01.2012 в 01:37)
| | какие символы использую в sql инъекциях? Тогда мне проще будет preg_replace'ом обработать эти символы и не пользоваться mysql_real_escape_string и проблема будет решена :) | |
|
|
|
|
|
|
|
для: Slo_Nik
(08.01.2012 в 01:12)
| | Интересная функция, с работой бд не подходит. Если человеку нужно что-то отредактировать, то в этой текстовой ареи эти переносы продублируется при каждой записи в бд, что не очень хорошо :) | |
|
|
|
|
|
|
|
для: ladan
(08.01.2012 в 00:44)
| | возможно Вам подойдёт функция nl2br() | |
|
|
|
|