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

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

1. Bio man - 09 Октября, 2011 - 13:40:43 - перейти к сообщению
как сделать $_GET и $_POST безопасными? может htmlentities?
2. КЫР - 09 Октября, 2011 - 14:47:30 - перейти к сообщению
с постом достаточно проверять откуда пришел запрос
с гетом - htmlspecialchars
при работе с бд имеет смысл написать регулярку для проверки
3. Bio man - 09 Октября, 2011 - 14:59:25 - перейти к сообщению
такого будет достаточно?
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. }
4. OrmaJever - 09 Октября, 2011 - 16:30:20 - перейти к сообщению
писали тут гдето хороший способ
PHP:
скопировать код в буфер обмена
  1. // в самом начале скрипта
  2. unset($_GET,$_POST);

А вобще это зависит от того что вам нужно. Безопастность бывает разной.
5. Itan - 09 Октября, 2011 - 16:31:43 - перейти к сообщению
КЫР пишет:
с постом достаточно проверять откуда пришел запрос

А если я зайду на страницу с формой и впишу туда JavaScript на переадресацию на мой сайт. А скрипт-обработчик пропустит, если так рассуждать.
6. КЫР - 09 Октября, 2011 - 21:44:57 - перейти к сообщению
Itan
согласен, протупил совсем)
просто сейчас работаю с формой, в которую вообще нельзя вручную данные вводить, вот и запарился)
7. OrmaJever - 09 Октября, 2011 - 22:54:41 - перейти к сообщению
КЫР пишет:
просто сейчас работаю с формой, в которую вообще нельзя вручную данные вводить

это кто сказал? Однако
8. КЫР - 09 Октября, 2011 - 23:12:17 - перейти к сообщению
OrmaJever
это я сделал)
все на чебоксах и селектах
9. OrmaJever - 09 Октября, 2011 - 23:18:04 - перейти к сообщению
можно страничку? или на локалхосте?
10. Мелкий - 09 Октября, 2011 - 23:18:51 - перейти к сообщению
КЫР, дык а кто сказал, что нельзя ввести что-то иное? Та же опера нативно позволяет менять произвольные куски разметки на лету. Это не говоря о том, что всё, передающееся от клиента можно подделать.
11. LIME - 09 Октября, 2011 - 23:23:52 - перейти к сообщению

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

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

Этого не знал. Спасибо. Буду думать.
13. LIME - 10 Октября, 2011 - 00:32:32 - перейти к сообщению
КЫР пишет:
запрос идет аяксом, так что адрес обращающейся к скрипту страницы подделать нельзя
почему нельзя?
(Добавление)
что помешает любой реферер вписать?
14. КЫР - 10 Октября, 2011 - 01:01:41 - перейти к сообщению
LIME
продемонстрируй пожалуйста реализацию
15. LIME - 10 Октября, 2011 - 01:09:29 - перейти к сообщению
чего реализацию
подделки заголовков?
нууу...можно даже исходники не открывать
смотришь обмен заголовков и потом хоть телнетом
если на примере php то удобнее curl
Цитата:
CURLOPT_REFERER: Задает значение HTTP заголовка "Referer: ".

 

Powered by ExBB FM 1.0 RC1