Безопасность AJAX: POST или GET? - PullRequest
4 голосов
/ 24 ноября 2010

Как видно из названия, мне интересно, что более безопасно для запросов AJAX: POST или GET.Я не могу понять, что лучше, потому что они оба скрыты от пользователя из-за URI, отправляемого через.AJAX, не в строке URL.

Спасибо,

Джеймс

Ответы [ 6 ]

7 голосов
/ 24 ноября 2010
4 голосов
/ 24 ноября 2010

Не добавляйте никакой защиты ни от атак «человек посередине», ни от конечного пользователя. Оба могут быть перехвачены и подделаны с помощью Wireshark, Firebug или других инструментов.

Если вам нужна защита от перехвата, вы можете использовать HTTPS. Это не мешает пользователю отправлять запросы вручную.

2 голосов
/ 24 ноября 2010

Нет различий в безопасности между POST и GET, используемыми в AJAX. Они не скрыты от пользователя - такой простой инструмент, как Fiddler, позволит пользователю видеть эти запросы. полезная нагрузка в обоих случаях - в виде простого текста (т. е. в том виде, в котором его создал ваш скрипт). Единственное отличие состоит в том, что полезная нагрузка POST находится в теле запроса, а полезная нагрузка GET - в параметрах запроса URL-адреса.

2 голосов
/ 24 ноября 2010

Практически тривиально легко проверить содержимое записи и получить значения. Если вы не хотите, чтобы пользователь мог получать эти данные напрямую, лучше всего зашифровать их и / или отправить по ssl.

1 голос
/ 24 ноября 2010

Они могут просматривать исходный код страницы и видеть, где находится ваш целевой URL и какие параметры передаются в любом случае.

1 голос
/ 24 ноября 2010

Они вообще не скрыты от пользователя; установите FireBug на FireFox, и они смогут видеть URI. Ваш выбор использования GET и POST зависит от отправленных данных; и если вы идете по стандартам REST, в зависимости от операции.

Относитесь к вызову AJAX так же, как к информации, поступающей от клиента через форму и адресную строку: проверить и освятить.

...