Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Насколько важны для безопасности символы \n \r


Автор: phpsc 23.1.2011, 00:09
Насколько важны для безопасности символы \n \r в функции mysql_real_escape_string?

Автор: skyboy 23.1.2011, 01:55
 smile чё? что ты имел в виду? что за "безопасность в функции mysql_real_escape_string"?

Автор: phpsc 23.1.2011, 11:56
записыываем текст в textarea
прогоняем через nl2br
прогоняем через mysql_real_escape_string
удаляюем все \n \r

и только после этого текст из textarea попадает в БД mysql.

sql-injection возможна?

Автор: Shark 23.1.2011, 17:27
phpsc, mysql_real_escape_string() - эта функция все экранирует! апострофы ', кавычки ", как бы юзвер не старался написать хотя бы 
Код

<script> alert("А я сломал тебя"); </script>

этот код не сработает, так как он в БД запишется так:
Код

<script> alert(\"А я сломал тебя\"); </script>

а еще рекомендую тебе при записи в БД удалять символы ", ', <, >

после удаления в БД будет записана такая строка:
Код

script alert(А я сломал тебя); /script

Автор: skyboy 23.1.2011, 21:17
Цитата(Shark @  23.1.2011,  16:27 Найти цитируемый пост)
этот код не сработает, так как он в БД запишется так:

ничего подобного.
это он в запросе будет включен так:
Код

insert into sometable(text_value) values("<script> alert(\"А я сломал тебя\"); </script>")

вместо
Код

insert into sometable(text_value) values("<script> alert("А я сломал тебя"); </script>")

Но второй вариант не означает "взлом". Просто запрос стал синтаксически неверным и при попытке выполнения выдаст ошибку.
И вообще, не путай sql injection с XSS-уязвимостью!
phpsc, не будет sql injection, mysql_real_escape_string защищает.

Автор: phpsc 24.1.2011, 15:20
вот, наконец то хоть кто то ответил мне на эту тему=)

Это если не использовать знаки < > то как же тогда пользователи будут размещать исходные коды своих программ на  сайте?
А при выводе инфы из БД, нужно прогнать через htmlspecialchars($var,ENV_NOQUOTES) и преобразовать bb-коды в html.

Автор: gta4kv 24.1.2011, 16:18
Зачем вырезать < >, " и прочее? Да мало ли что юзер хочет написать. htmlspecialchars & *_real_escape_string.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)