2013-08-13 2 views
-3

Почему следующий код небезопасен?Почему следующий код небезопасен?

<?php $user = $db->query 
("SELECT * FROM users WHERE username='".$_GET["username"]."' 
AND password=MD5('".$_GET["password"]."');"); ?> 
+8

Посмотрите на SQL-инъекцию – jeremy

+0

Представьте, что я передаю это значение в '$ _GET [" username "]', ''; УДАЛИТЬ ОТ пользователей; --'. –

+0

Вы можете ввести этот запрос и получить всю информацию о базе данных! – machineaddict

ответ

2

Метод GET передает закодированную информацию пользователя прилагается к запросу на страницу. Страница и закодированная информация разделяются символом? персонаж.

http://www.test.com/index.htm?name1=value1&name2=value2 Метод GET создает длинную строку, которая отображается в ваших журналах сервера, в поле «Расположение» браузера.

Метод GET предназначен для отправки только до 1024 символов.

Никогда не используйте метод GET, если у вас есть пароль или другая конфиденциальная информация для отправки на сервер.

GET не может использоваться для отправки на сервер двоичных данных, таких как изображения или текстовые документы.

Доступ к данным, отправленным методом GET, можно получить с помощью переменной окружения QUERY_STRING.

PHP предоставляет ассоциативный массив $ _GET для доступа ко всей отправляемой информации с использованием метода GET.

Метод POST передает информацию через HTTP-заголовки. Информация кодируется, как описано в случае метода GET, и помещается в заголовок QUERY_STRING.

Метод POST не имеет ограничений на размер данных, которые необходимо отправить.

Метод POST может использоваться для отправки ASCII, а также двоичных данных.

Данные, отправленные методом POST, проходят через HTTP-заголовок, поэтому безопасность зависит от протокола HTTP. Используя Secure HTTP, вы можете убедиться, что ваша информация защищена.

PHP предоставляет ассоциативный массив $ _POST для доступа ко всей отправляемой информации с использованием метода GET.

+1

2-я секция: Действительно? Я думал, что '_POST' пришел из POST,' _GET' из GET и '_REQUEST' из обоих? – glglgl

+2

Когда OP запросил разницу между GET и POST? если я не пропустил какую-либо историю изменений. Это, похоже, не имеет никакого отношения к вопросу о том, что этот код является небезопасным. –

Смежные вопросы