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 :: Вопрос по безопасности и обработки переменных

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
netclan
Отправлено: 11 Июня, 2013 - 08:54:29
Post Id



Гость


Покинул форум
Сообщений всего: 65
Дата рег-ции: Нояб. 2012  


Помог: 0 раз(а)




В общем то вопрос следующий, есть переменные полученные из формы:
PHP:
скопировать код в буфер обмена
  1. логин $post_array['login']
  2. пароль $post_array['pass']
  3. адрес сайта $post_array['url']
  4. icq $post_array['icq']

Как будет более гуманно обработать данные переменные перед тем как делать запрос в бд, кто-то может использует более удобные функции, способы и т.п.?

Я новичок и выслушаю все варианты, спасибо всем кто отпишется! Не понял Сильно не ругаться! Радость


-----
O_o
 
 Top
vanicon
Отправлено: 11 Июня, 2013 - 09:08:30
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010  
Откуда: Самара


Помог: 17 раз(а)




Если по поводу sql инъекций то mysql_real_escape_string вполне подойдет, если используете mysql_*, а в mysqli например есть для этого подготовленные выражения...
Также я считаю нужным проверять данные на корректность, типа icq тока из цифр и т.п


-----
Так было, так есть и так будет
 
 Top
AlexAnder
Отправлено: 11 Июня, 2013 - 09:15:21
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 915
Дата рег-ции: Авг. 2012  
Откуда: Россия


Помог: 34 раз(а)






-----
Оказывается, недостаточно читать справочники, чтобы правильно писать коды. sadex ©

Форумы стали местом обучения программированию, а не решения трудных вопросов. KingStar ©
 
 Top
netclan
Отправлено: 11 Июня, 2013 - 11:21:32
Post Id



Гость


Покинул форум
Сообщений всего: 65
Дата рег-ции: Нояб. 2012  


Помог: 0 раз(а)




AlexAnder пишет:
trim
Как правильно использовать данную функцию для удаления спецсимволов типа: $#%^&*?

PHP:
скопировать код в буфер обмена
  1. $post_array['icq'] = trim($post_array['icq'], "\x00..\x1F");


-----
O_o
 
 Top
LIME
Отправлено: 11 Июня, 2013 - 11:33:22
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




vanicon пишет:
а в mysqli например есть для этого подготовленные выражения...
вообще-то не для этого
http://www.php.net/manual/en/fun...-input-array.php
 
 Top
teddy
Отправлено: 11 Июня, 2013 - 11:44:38
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




netclan
trim() удаляет пробелы с начала и с конца строки, типа пробел1пробел2 ИМЯ пробел3. Результат будет "ИМЯ", без пробелов. Если хотите уничножить все кроме букв, то используйте подобное выражение

PHP:
скопировать код в буфер обмена
  1. if(!preg_match("/^[a-zA-Zа-яА-Я]+$/", $name)){echo "Имя может содержать только Русские или Английские буквы<br>";}


Ну или не эхо, можно поместить ошибку в какую нибудь переменную и проверять ее на isset...

П.С: в квадратных скобках у preg_match в данном случае находятся только разрешенные символы для ввода. Соответственно можете добавлять свои по мере необходимости
 
 Top
LIME
Отправлено: 11 Июня, 2013 - 11:48:45
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




teddy trim удаляет не пробелы а пробельные символы
к тому же можно добавить любые другие символы 2ым параметром
и из твоей регулярки выпадают символы Ёё
они не в диапазоне и их надо указывать отдельно
 
 Top
vanicon
Отправлено: 11 Июня, 2013 - 11:49:44
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010  
Откуда: Самара


Помог: 17 раз(а)




LIME
Как в запросе с помощью подготовленных выражений можно провернуть sql инъекцию а?
Это понято что подготовленные выражения, для того что бы меньше данных на сервер отправлять, но и от sql инъекций тоже подойдет.
И при чем тут фильтры?
vanicon пишет:
Также я считаю нужным проверять данные на корректность, типа icq тока из цифр и т.п


-----
Так было, так есть и так будет
 
 Top
LIME
Отправлено: 11 Июня, 2013 - 11:55:18
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




vanicon пишет:
И при чем тут фильтры?
при том что фильтруют
или надо пример выложить?
Спойлер (Отобразить)

513 - FILTER_SANITIZE_STRING
0 - INPUT_POST
vanicon пишет:
но и от sql инъекций тоже подойдет.
отключение питание тоже подойдет

(Отредактировано автором: 11 Июня, 2013 - 12:14:55)

 
 Top
teddy
Отправлено: 11 Июня, 2013 - 11:58:11
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




LIME пишет:
и из твоей регулярки выпадают символы Ёё

Спасибо, не знал ) А почему так то? указано ведь от а до я, а е и ё находятся между ними... может я что то пропустил..
 
 Top
LIME
Отправлено: 11 Июня, 2013 - 12:00:42
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




teddy пишет:
может я что то пропустил..
пропустил
например таблицу кодировок пропустил
или по твоему интерпретатор регулярок берет символы по азбуке за 1ый класс?
в диапазон входят символы с кодами от и до
а Ёё коды вне диапазона
забыли про них наверное когда таблицу составляли))
 
 Top
vanicon
Отправлено: 11 Июня, 2013 - 12:01:14
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010  
Откуда: Самара


Помог: 17 раз(а)




Ладно спорить тут не о чем, каждый делает так как считает нужным...

(Отредактировано автором: 11 Июня, 2013 - 12:01:33)



-----
Так было, так есть и так будет
 
 Top
LIME
Отправлено: 11 Июня, 2013 - 12:02:11
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




vanicon пишет:
каждый делает так как считает нужным...
конечно
я зубы чищу вантузом
и пошли все на...мне так удобнее
 
 Top
teddy
Отправлено: 11 Июня, 2013 - 12:02:55
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




LIME
Интересная ситуация... Спасибо )) Вроде пришел помочь, а сам отхватил помощь ))
 
 Top
LIME
Отправлено: 11 Июня, 2013 - 12:04:24
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




teddy привыкай
судя по твоим постам это будет частенько
но это нормально
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB