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 :: безопасность $_GET $_POST

 PHP.SU

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


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

> Описание: подскажите
Bio man
Отправлено: 09 Октября, 2011 - 13:40:43
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


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




как сделать $_GET и $_POST безопасными? может htmlentities?
 
 Top
КЫР
Отправлено: 09 Октября, 2011 - 14:47:30
Post Id



Частый гость


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


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




с постом достаточно проверять откуда пришел запрос
с гетом - htmlspecialchars
при работе с бд имеет смысл написать регулярку для проверки


-----
Fuck you guys, I'll going home
 
 Top
Bio man
Отправлено: 09 Октября, 2011 - 14:59:25
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


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




такого будет достаточно?
PHP:
скопировать код в буфер обмена
  1. class getPostProtect {
  2.         private $GET = array();
  3.         private $POST = array();
  4.        
  5.         public function __construct() {
  6.                 if($_POST) $this->postArray();
  7.                 if($_GET) $this->getArray();
  8.         }
  9.         private function getArray() {
  10.                 foreach($_GET as $key => $value) {
  11.                         $value = htmlentities(trim($value), ENT_QUOTES, 'utf-8');
  12.                         $this->GET[$key] = $value;
  13.                 }
  14.         }
  15.         private function postArray() {
  16.                 foreach($_POST as $key => $value) {
  17.                         $value = htmlentities(trim($value), ENT_QUOTES, 'utf-8');
  18.                         $this->POST[$key] = $value;
  19.                 }
  20.         }
  21.         public function getPostObj() {
  22.                 settype($this->POST, 'object');
  23.                 return $this->POST;
  24.         }
  25.         public function getGetObj() {
  26.                 settype($this->GET, 'object');
  27.                 return $this->GET;
  28.         }
  29. }

(Отредактировано автором: 09 Октября, 2011 - 15:00:00)

 
 Top
OrmaJever Модератор
Отправлено: 09 Октября, 2011 - 16:30:20
Post Id



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


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


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




писали тут гдето хороший способ
PHP:
скопировать код в буфер обмена
  1. // в самом начале скрипта
  2. unset($_GET,$_POST);

А вобще это зависит от того что вам нужно. Безопастность бывает разной.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Itan
Отправлено: 09 Октября, 2011 - 16:31:43
Post Id


Частый гость


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


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




КЫР пишет:
с постом достаточно проверять откуда пришел запрос

А если я зайду на страницу с формой и впишу туда JavaScript на переадресацию на мой сайт. А скрипт-обработчик пропустит, если так рассуждать.
 
 Top
КЫР
Отправлено: 09 Октября, 2011 - 21:44:57
Post Id



Частый гость


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


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




Itan
согласен, протупил совсем)
просто сейчас работаю с формой, в которую вообще нельзя вручную данные вводить, вот и запарился)


-----
Fuck you guys, I'll going home
 
 Top
OrmaJever Модератор
Отправлено: 09 Октября, 2011 - 22:54:41
Post Id



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


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


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




КЫР пишет:
просто сейчас работаю с формой, в которую вообще нельзя вручную данные вводить

это кто сказал? Однако


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
КЫР
Отправлено: 09 Октября, 2011 - 23:12:17
Post Id



Частый гость


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


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




OrmaJever
это я сделал)
все на чебоксах и селектах


-----
Fuck you guys, I'll going home
 
 Top
OrmaJever Модератор
Отправлено: 09 Октября, 2011 - 23:18:04
Post Id



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


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


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




можно страничку? или на локалхосте?


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Мелкий Супермодератор
Отправлено: 09 Октября, 2011 - 23:18:51
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




КЫР, дык а кто сказал, что нельзя ввести что-то иное? Та же опера нативно позволяет менять произвольные куски разметки на лету. Это не говоря о том, что всё, передающееся от клиента можно подделать.


-----
PostgreSQL DBA
 
 Top
LIME
Отправлено: 09 Октября, 2011 - 23:23:52
Post Id


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


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


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





OrmaJever пишет:
можно страничку? или на локалхосте?
Радость КЫР щас будут немножька поломать
 
 Top
КЫР
Отправлено: 10 Октября, 2011 - 00:22:35
Post Id



Частый гость


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


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




OrmaJever
пока на локалхосте

Мелкий
запрос идет аяксом, так что адрес обращающейся к скрипту страницы подделать нельзя
Цитата:
Та же опера нативно позволяет менять произвольные куски разметки на лету

Этого не знал. Спасибо. Буду думать.


-----
Fuck you guys, I'll going home
 
 Top
LIME
Отправлено: 10 Октября, 2011 - 00:32:32
Post Id


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


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


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




КЫР пишет:
запрос идет аяксом, так что адрес обращающейся к скрипту страницы подделать нельзя
почему нельзя?
(Добавление)
что помешает любой реферер вписать?
 
 Top
КЫР
Отправлено: 10 Октября, 2011 - 01:01:41
Post Id



Частый гость


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


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




LIME
продемонстрируй пожалуйста реализацию


-----
Fuck you guys, I'll going home
 
 Top
LIME
Отправлено: 10 Октября, 2011 - 01:09:29
Post Id


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


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


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




чего реализацию
подделки заголовков?
нууу...можно даже исходники не открывать
смотришь обмен заголовков и потом хоть телнетом
если на примере php то удобнее curl
Цитата:
CURLOPT_REFERER: Задает значение HTTP заголовка "Referer: ".
 
 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