Регулярные выражения для фильтрования данных

Статус
В этой теме нельзя размещать новые ответы.
Angeli: не помешало бы ограничить длину логина
$login = substr($login, 0, 8);

mefish: а у тебя неверная регулярка.
Попробуй ввести такой логин 123'+or+1=1--
скрипт его пропустит, т..к первый символ цифра и попадает в регулярку
надо обязательно ставить якоря ^ - начало строки и $ - конец строки
т.е вот так "/^[0-9a-z_]+$/i"
пароль должен начинаться и кончаться этими символами, длина пароля несколько (1 или более) символов.
 
Виллен вы невнимательно прочитали мои вопрос выражение там правильно написано,
if (!preg_match("|^[a-z\d]+$|i",$login))
а за длину логина у меня отвечает поле формы maxlength = 10. Но все равно спасибо за ответ.:)
 
Angeli написал(а):
а за длину логина у меня отвечает поле формы maxlength = 10.
Это поле совершенно не гарантирует, что логин будет короче 10 символов.
Злоумышленник форму может отредактировать, да может и post запрос послать совсем другим способом.
 
Тогда вдвойне спасибо за ответ :) сделаю

Добавлено через 3 минуты
А надо ли еще какие - нибудь проверки делать от взлома (при передачи данных из формы)?
 
Для защиты от SQL иньекци достаточно экранировать кавычки в строке - применить функцию mysql_real_escape_string. А числовые значения перевести в число. Столько регулярок не нужно.
Вырезать символы смысла нет вообще, и в базе тогда неправильное значение окажется, и никто об этом не узнает. Надо сообщение выдавать о неправильном вводе, и строку в базу не добавлять.
5.Фильтрование и вырезка url от лишних символов (тип данных строка)
6.Фильтрование и вырезка url (картинки) от лишних символов (тип данных строка)
URL картинки как-то отличается от остальных URL?
 
я просто боюсь про SQL-инъекции
в этом я не силен а проект комерческий блин))) и 2 других програмиста вообще ни***чего не понимают в защите грят что их аякс всем рулит))) я просто выключит JS в браузере и ввел невалидные денные и пал скрипт... точнее все получилось) так что я фильтрую все что могу, каждую переменную, а особенно меня волнуют такие вещи как допустим гостевая, поле текст,я сен пень, там пишут что угодно и ссылки тоже, там используется BBCode так же есть авто создание и образание ссылок позаимствовал идею у PHPBB, так что хочу обезопасит поля такие как текст, поэтому знаю что есть символы которые все таки позволяют внедрить свой код на страницу, а особенно я боюсь внедрения JS, тк технология позволяет много чего сделать!


5.Фильтрование и вырезка url от лишних символов (тип данных строка) (окончание строки не важно)
6.Фильтрование и вырезка url (картинки) от лишних символов (тип данных строка)
а тут наоборот соотвествие типам jpg,jpeg,png и тп
 
от скуль используй плейсхолдеры инфы и классов с ними, дофига.


фильтрация урлов вырезаешь все символы кроме
[^a-z0-9:.\-_/#?&]

имхо это будет нормальное решение...правда можно былоб еще добавить % но я бы не рекомендовал...

ксати, еще нульбайт нужно тоже фильтровать, иначе регулярка может сработать против тебя
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху