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
Форумы портала PHP.SU :: Версия для печати :: Вопрос по безопасности и обработки переменных
Форумы портала PHP.SU » » Вопросы новичков » Вопрос по безопасности и обработки переменных

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

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

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

Я новичок и выслушаю все варианты, спасибо всем кто отпишется! Не понял Сильно не ругаться! Радость
2. vanicon - 11 Июня, 2013 - 09:08:30 - перейти к сообщению
Если по поводу sql инъекций то mysql_real_escape_string вполне подойдет, если используете mysql_*, а в mysqli например есть для этого подготовленные выражения...
Также я считаю нужным проверять данные на корректность, типа icq тока из цифр и т.п
3. AlexAnder - 11 Июня, 2013 - 09:15:21 - перейти к сообщению
mysql_real_escape_string
strip_tags
trim
htmlspecialchars
4. netclan - 11 Июня, 2013 - 11:21:32 - перейти к сообщению
AlexAnder пишет:
trim
Как правильно использовать данную функцию для удаления спецсимволов типа: $#%^&*?

PHP:
скопировать код в буфер обмена
  1. $post_array['icq'] = trim($post_array['icq'], "\x00..\x1F");
5. LIME - 11 Июня, 2013 - 11:33:22 - перейти к сообщению
vanicon пишет:
а в mysqli например есть для этого подготовленные выражения...
вообще-то не для этого
http://www.php.net/manual/en/fun...-input-array.php
6. teddy - 11 Июня, 2013 - 11:44:38 - перейти к сообщению
netclan
trim() удаляет пробелы с начала и с конца строки, типа пробел1пробел2 ИМЯ пробел3. Результат будет "ИМЯ", без пробелов. Если хотите уничножить все кроме букв, то используйте подобное выражение

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


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

П.С: в квадратных скобках у preg_match в данном случае находятся только разрешенные символы для ввода. Соответственно можете добавлять свои по мере необходимости
7. LIME - 11 Июня, 2013 - 11:48:45 - перейти к сообщению
teddy trim удаляет не пробелы а пробельные символы
к тому же можно добавить любые другие символы 2ым параметром
и из твоей регулярки выпадают символы Ёё
они не в диапазоне и их надо указывать отдельно
8. vanicon - 11 Июня, 2013 - 11:49:44 - перейти к сообщению
LIME
Как в запросе с помощью подготовленных выражений можно провернуть sql инъекцию а?
Это понято что подготовленные выражения, для того что бы меньше данных на сервер отправлять, но и от sql инъекций тоже подойдет.
И при чем тут фильтры?
vanicon пишет:
Также я считаю нужным проверять данные на корректность, типа icq тока из цифр и т.п
9. LIME - 11 Июня, 2013 - 11:55:18 - перейти к сообщению
vanicon пишет:
И при чем тут фильтры?
при том что фильтруют
или надо пример выложить?
Спойлер (Отобразить)

513 - FILTER_SANITIZE_STRING
0 - INPUT_POST
vanicon пишет:
но и от sql инъекций тоже подойдет.
отключение питание тоже подойдет
10. teddy - 11 Июня, 2013 - 11:58:11 - перейти к сообщению
LIME пишет:
и из твоей регулярки выпадают символы Ёё

Спасибо, не знал ) А почему так то? указано ведь от а до я, а е и ё находятся между ними... может я что то пропустил..
11. LIME - 11 Июня, 2013 - 12:00:42 - перейти к сообщению
teddy пишет:
может я что то пропустил..
пропустил
например таблицу кодировок пропустил
или по твоему интерпретатор регулярок берет символы по азбуке за 1ый класс?
в диапазон входят символы с кодами от и до
а Ёё коды вне диапазона
забыли про них наверное когда таблицу составляли))
12. vanicon - 11 Июня, 2013 - 12:01:14 - перейти к сообщению
Ладно спорить тут не о чем, каждый делает так как считает нужным...
13. LIME - 11 Июня, 2013 - 12:02:11 - перейти к сообщению
vanicon пишет:
каждый делает так как считает нужным...
конечно
я зубы чищу вантузом
и пошли все на...мне так удобнее
14. teddy - 11 Июня, 2013 - 12:02:55 - перейти к сообщению
LIME
Интересная ситуация... Спасибо )) Вроде пришел помочь, а сам отхватил помощь ))
15. LIME - 11 Июня, 2013 - 12:04:24 - перейти к сообщению
teddy привыкай
судя по твоим постам это будет частенько
но это нормально

 

Powered by ExBB FM 1.0 RC1