Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы по PHP Фильтрация входящих данных

Фильтрация входящих данных


     24.01.2013    Общие вопросы по PHP    2465

вопрос
Подскажите пожайлуста, для фильтрации входящих данных, допустим в форму достаточно функции htmlspecialchars, или возможно нужная еще какаето функция или же нужно подменить, еще какие то символы. Подскажите пожалуйста из опыта, какие функции еще лучшем использовать для фильтрации.

Ответа пока нет


Комментарии пользователей (10)

nowheremany
192

1659 | 1292

nowheremany - 24 января 2013 16:06 - Эксперт

Пропустил неточный вопрос по причине его позновательности.
В инете полно информации по этому поводу, все зависит от типа данных, на вход этой фильтрации.
Предлагайте свои варианты

Благодарность принимаю тут Связь

hatchees
65 | 74

hatchees - 24 января 2013 16:58 - Юзер

допустим есть форма заполнения имени при регистрации,

$name = trim(htmlspecialchars($_POST['name']));

На мой взгляд этого достаточно защищенный пост запрос. Ранее писал фильтрацию через str_replace. Этого достаточно, что бы защитить форму он попытки вветли вредоносный код?

shadow6630
6

131 | 55

shadow6630 - 24 января 2013 20:27 - Юзер

hatchees,
а что вам мешает посмотреть как это реализовано в других КМС, даже в тоя самой DLE ?

nowheremany
192

1659 | 1292

nowheremany - 25 января 2013 09:31 - Эксперт

Не совсем правильно.
Получается проходят имена пользователей со спец символами. нужно убирать тэги через striptags. И trim надо делать к имени сразу, а не после обработки. ведь htmlspecialchars более нагруженная функция чем trim

Благодарность принимаю тут Связь

hatchees
65 | 74

hatchees - 24 января 2013 21:21 - Юзер

Я уже посмотрел, в некоторых ситуациях у них входящие данные вообще не фильтруются эти все баги выложены на античате, я же хочю спросить как делать лучше, то есть правильней!

TheImDim
18

327 | 291

TheImDim - 25 января 2013 13:31 - Юзер


function myParse($text) {
    
    $text = addslashes($text);
    
    $search = array ("'<script[^>]*?>.*?</script>'si",  "'<[\/\!]*?[^<>]*?>'si", "'([\n])'");

              $replace = array ("", "", "<br/>");
    $text = preg_replace($search, $replace, $text);
    return $text;
}

nowheremany
192

1659 | 1292

nowheremany - 25 января 2013 14:36 - Эксперт

<a href="javascript:alert('123')">Тадам</a>

Сомнительная фильтрация

Благодарность принимаю тут Связь

TheImDim
18

327 | 291

TheImDim - 25 января 2013 15:02 - Юзер

А теперь внимательно посмотри на этот кусок кода:

"'<[\/\!]*?[^<>]*?>'si"

dj-avtosh
39

1479 | 390

dj-avtosh - 6 февраля 2013 04:51 - шашлычник

почему-то ни разу не увидел mysql_real_escape_string ..........

skype: elhan.isaev

ПафНутиЙ
1065

3396 | 2434

ПафНутиЙ - 6 февраля 2013 09:47 - Админ

Предлагаю перенести этот вопрос в раздел блог, и "вырастить" пост в небольшой мануал о том, как правильнее делать.

Каков вопрос - таков и ответ. Просто помните об этом.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы