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 :: Вопрос по безопасности и обработки переменных
перед тем как делать запрос в бд, кто-то может использует более удобные функции, способы и т.п.?
Я новичок и выслушаю все варианты, спасибо всем кто отпишется! Сильно не ругаться!
----- O_o
vanicon
Отправлено: 11 Июня, 2013 - 09:08:30
Частый посетитель
Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010 Откуда: Самара
Помог: 17 раз(а)
Если по поводу sql инъекций то mysql_real_escape_string вполне подойдет, если используете mysql_*, а в mysqli например есть для этого подготовленные выражения...
Также я считаю нужным проверять данные на корректность, типа icq тока из цифр и т.п
----- Так было, так есть и так будет
AlexAnder
Отправлено: 11 Июня, 2013 - 09:15:21
Частый посетитель
Покинул форум
Сообщений всего: 915
Дата рег-ции: Авг. 2012 Откуда: Россия
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
netclan
trim() удаляет пробелы с начала и с конца строки, типа пробел1пробел2 ИМЯ пробел3. Результат будет "ИМЯ", без пробелов. Если хотите уничножить все кроме букв, то используйте подобное выражение
if(!preg_match("/^[a-zA-Zа-яА-Я]+$/",$name)){echo"Имя может содержать только Русские или Английские буквы<br>";}
Ну или не эхо, можно поместить ошибку в какую нибудь переменную и проверять ее на isset...
П.С: в квадратных скобках у preg_match в данном случае находятся только разрешенные символы для ввода. Соответственно можете добавлять свои по мере необходимости
LIME
Отправлено: 11 Июня, 2013 - 11:48:45
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
teddy trim удаляет не пробелы а пробельные символы
к тому же можно добавить любые другие символы 2ым параметром
и из твоей регулярки выпадают символы Ёё
они не в диапазоне и их надо указывать отдельно
vanicon
Отправлено: 11 Июня, 2013 - 11:49:44
Частый посетитель
Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010 Откуда: Самара
Помог: 17 раз(а)
LIME
Как в запросе с помощью подготовленных выражений можно провернуть sql инъекцию а?
Это понято что подготовленные выражения, для того что бы меньше данных на сервер отправлять, но и от sql инъекций тоже подойдет.
И при чем тут фильтры?
vanicon пишет:
Также я считаю нужным проверять данные на корректность, типа icq тока из цифр и т.п
----- Так было, так есть и так будет
LIME
Отправлено: 11 Июня, 2013 - 11:55:18
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
LIME пишет:
и из твоей регулярки выпадают символы Ёё
Спасибо, не знал ) А почему так то? указано ведь от а до я, а е и ё находятся между ними... может я что то пропустил..
LIME
Отправлено: 11 Июня, 2013 - 12:00:42
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
teddy пишет:
может я что то пропустил..
пропустил
например таблицу кодировок пропустил
или по твоему интерпретатор регулярок берет символы по азбуке за 1ый класс?
в диапазон входят символы с кодами от и до
а Ёё коды вне диапазона
забыли про них наверное когда таблицу составляли))
vanicon
Отправлено: 11 Июня, 2013 - 12:01:14
Частый посетитель
Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010 Откуда: Самара
Помог: 17 раз(а)
Ладно спорить тут не о чем, каждый делает так как считает нужным...
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.