Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Как обезопасить от html и mysql-запросов
просто надо заэкранить кавычки да и от тегов избавиться. а при извлчении воспользоватся stripslash.
Не знаю, конфликтуют ли эти функции в таком порядке (mysql_real_escape_string(htmlspecialchars(); но вроде норм работает.
Или не стоит рисковать, воспользоватся только mysql_real_escape_string, а при извлечении текста постоянно использовать htmlspecialchars?
Ладно, сам разобрался. при добавлении mysql_real_escape_string при извлечении htmlspecialchars.
Покинул форум
Сообщений всего: 219
Дата рег-ции: Нояб. 2010
Помог: 3 раз(а)
[quote=Еугений]Не знаю, конфликтуют ли эти функции в таком порядке (mysql_real_escape_string(htmlspecialchars();[/quote]
Насколько я понял первая полная идентичность второй, за исключение того, что первая не экранирует символы % и _. Зачем применять одно и тоже несколько раз?? второй помойму вполне достаточно.
[quote=Еугений]Или не стоит рисковать, воспользоватся только mysql_real_escape_string, а при извлечении текста постоянно использовать htmlspecialchars?[quote=Еугений]. Не понимаю какой смысл в применении htmlspecialchars при извлечении из базы???
Ваша задача обезопасить себя от того чтобы в строке запроса не был какой-нибудь вредоносный код. То есть до записи в базу.
Покинул форум
Сообщений всего: 176
Дата рег-ции: Апр. 2011
Помог: 1 раз(а)
[quote=zypikov][quote=Еугений]Не знаю, конфликтуют ли эти функции в таком порядке (mysql_real_escape_string(htmlspecialchars();[/quote]
Насколько я понял первая полная идентичность второй, за исключение того, что первая не экранирует символы % и _. Зачем применять одно и тоже несколько раз?? второй помойму вполне достаточно.
[quote=Еугений]Или не стоит рисковать, воспользоватся только mysql_real_escape_string, а при извлечении текста постоянно использовать htmlspecialchars?
Еугений пишет:
. Не понимаю какой смысл в применении htmlspecialchars при извлечении из базы???
Ваша задача обезопасить себя от того чтобы в строке запроса не был какой-нибудь вредоносный код. То есть до записи в базу.
если кто нибудь например введет в базу <б> какой то тексту </б> то при извлечении из базы без htmlspecialchars текст будет жирным.
Hidalgo
Отправлено: 09 Марта, 2012 - 18:37:56
Частый гость
Покинул форум
Сообщений всего: 245
Дата рег-ции: Февр. 2012 Откуда: Димитровград
Помог: 1 раз(а)
Еугений пишет:
Не понимаю какой смысл в применении htmlspecialchars при извлечении из базы???
Ваша задача обезопасить себя от того чтобы в строке запроса не был какой-нибудь вредоносный код. То есть до записи в базу.
Не только в базу,обязательно нужно проверить все выводимые на экран от пользователя данные с помощью htmlspecialchars
Покинул форум
Сообщений всего: 219
Дата рег-ции: Нояб. 2010
Помог: 3 раз(а)
Еугений пишет:
если кто нибудь например введет в базу <б> какой то тексту </б> то при извлечении из базы без htmlspecialchars текст будет жирным.
А если эту будет любой другой тег?)))) А как это вообще выглядит после извлечения из базы?? Скорее всего
htmlspecialchars просто экранирует символы <> и поэтому <b></b> \<b\> будет таким </b\>
Для убирание таких тэгов нужна другая функция
----- У всего есть обратная сторона.
LIME
Отправлено: 09 Марта, 2012 - 18:42:56
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
zypikov нет не экранирует а меняет на хтмл-сущности
посмотрите описание
самая подходящая ф-ция (Добавление)
можно конечно совсем их вырезать но это часто не приемлемо
zypikov
Отправлено: 09 Марта, 2012 - 18:59:42
Частый гость
Покинул форум
Сообщений всего: 219
Дата рег-ции: Нояб. 2010
Помог: 3 раз(а)
Hidalgo пишет:
Не только в базу,обязательно нужно проверить все выводимые на экран от пользователя данные с помощью htmlspecialchars
Хорошая статья на эту тему:
http://phpfaq.ru/slashes
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.