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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
soltx
Отправлено: 02 Ноября, 2014 - 16:04:48
Post Id


Новичок


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


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




Привет, не знаю правильно ли я назвал тему, перейду к делу:
есть форма которая собирает и отправляет полученные данные на email;
добавил к своему коду удаление пробелов, тегов, и привидению к числу, что еще можно сделать в плане безопасности?
Да собственно громоздкий код получился хотел применить только к массиву (кроме int) ну возникла ошибка, может кто подскажет что можно еще сделать и как можно упростить это дело

PHP:
скопировать код в буфер обмена
  1.  
  2.                      $rcord = array(
  3.                         trim(strip_tags($_POST['works_type'])),
  4.                         trim(strip_tags($_POST['work'])),
  5.                         trim(strip_tags($_POST['city'])),
  6.                         trim(strip_tags($_POST['company'])),
  7.                         trim(strip_tags($_POST['fio'])),
  8.                         trim(strip_tags((int)$_POST['phone'])),
  9.                         trim(strip_tags($_POST['email'])),
  10.                         trim(strip_tags($_POST['site'])),
  11.                         trim(strip_tags($_POST['comment']))
  12.                 );
  13.  
 
 Top
kotyara1979
Отправлено: 03 Ноября, 2014 - 06:37:36
Post Id


Частый гость


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


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




soltx пишет:
strip_tags((int)$_POST['phone'])


а что за int в строке?


-----
Сделать можно все. Главное одеть каску.
 
 Top
soltx
Отправлено: 03 Ноября, 2014 - 14:22:23
Post Id


Новичок


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


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




kotyara1979 пишет:
soltx пишет:
strip_tags((int)$_POST['phone'])


а что за int в строке?


тупо что бы приходили числа не текст, думаете лишнее? если в таком формате придет вернет null gdfg435345 если 4353fdgdfg вырежит текст вернет число, хотя наверно лучше убрать.

(Отредактировано автором: 03 Ноября, 2014 - 14:23:02)

 
 Top
kotyara1979
Отправлено: 03 Ноября, 2014 - 14:50:07
Post Id


Частый гость


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


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




soltx пишет:
ну возникла ошибка
А текст ошибки можно увидеть?


-----
Сделать можно все. Главное одеть каску.
 
 Top
esterio
Отправлено: 03 Ноября, 2014 - 15:49:32
Post Id



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


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




если чесно многие старички устали обьяснять. уже не раз поднимался данный вопрос на фоурме. запомните динственной формулы защиты НЕ СУЩЕСТВУЕТ. все зависит от того что вы хотите обработать. например если текст, то можно удалять тегы, но когда тот же текст приходит с висивига, то удалять тегы нельзя и тут чистять их методом белого списка. то же число иногда достаточно перевести в int, а иногда ничего кроме чисел там быть не должно. те же sql иньекции ничего общего з фильтрацией данніх не имеют. и защищаються от них с помощю prepared statement или real_escape_string (порвое предпочтительней). От xss может спасти strip_tags или регулярка, а также установка кук http_only. В общем я хотел донести мисль о том, что одной чудо-супермега-магической функции не существует
(Добавление)
также загляните сюда
http://php.net/manual/ru/book.filter.php
 
 Top
soltx
Отправлено: 04 Ноября, 2014 - 00:50:24
Post Id


Новичок


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


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




Спасибо! понял, до этого думал что нужно придерживаться всегда каких то правил, можно сказать какое то универсально решение применять.

(Отредактировано автором: 04 Ноября, 2014 - 00:52:07)

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


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB