[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Безопасность сайта, пользовательские данные
Миша
Допустим у меня есть массив и пользовательская переменная - $_POST

Чтобы использовать стандартные функции (Например: in_array, или другие), мне нужно заранее очистить $_POST от Пакостей пользователя?

_____________
Принимаю заказы, писать в ЛС
inpost
Медведь
Не надо ничего очищать wink.gif Для добавления в БД наоборот, слеши добавляются. wink.gif

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Миша
Цитата (inpost @ 10.03.2015 - 17:19)
Медведь
Не надо ничего очищать  ;) Для добавления в БД наоборот, слеши добавляются.  ;)

mysqli_real_escape_string


_____________
Принимаю заказы, писать в ЛС
inpost
А для вывода на страницу надо заменять спец.символы на их html-сущности wink.gif

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Миша
Цитата (inpost @ 10.03.2015 - 17:26)
А для вывода на страницу надо заменять спец.символы на их html-сущности ;)

htmlspecialchars


А если данные не добавляются в БД, ав запросе используется, вроде

'login' = '".mysqli_real_escape_string($link, $_POST['login'])."'


ТАК?

_____________
Принимаю заказы, писать в ЛС
stump
in_array, array_search, array_key_exists не вызывают содержимое строки как переменную что говорит о вполне безопасном использовании этих функций с необработанной строкой. Обрабатывать пришедшие данные надо перед вызовом запроса и перед вызовом в качестве переменной.

_____________
Трус не играет в хокей
Kusss
соединение в ДБ лишнее.
'".mysqli_real_escape_string($_POST['login'])."'
Миша
Цитата (Kusss @ 10.03.2015 - 18:01)
соединение в ДБ лишнее.
'".mysqli_real_escape_string($_POST['login'])."'

т.е. в запросе к базе данных, а как тогда?

_____________
Принимаю заказы, писать в ЛС
Kusss
обычное экранирование перед отправкой данных в ДБ
SELECT * FROM `table` WHERE `login` = '".mysqli_real_escape_string($_POST['login'])."'
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.