Да, я использую его довольно много - это может быть очень полезно для многопоточного кода. Статья, на которую Вы указали, является хорошей. Хотя существует две важных вещи принять во внимание:
Не более или менее безопасен, чем обычный HTTP-запрос POST, отправленный браузером (например, из
)
«Исправление» для этого такое же «исправление» для запросов, отличных от AJAX - используйте SSL.
Простой текстовый пароль, передаваемый через AJAX, будет таким же безопасным, как и тот же пароль, переданный через обычную HTTP-почту. То есть AJAX использует HTTP и поэтому может быть перехвачен и обнаружен. Лучше всего использовать HTTPS (SSL).
Для дальнейшего чтения по AJAX и безопасности я бы порекомендовал следующие материалы
Это небезопасно. Не отправляйте незашифрованные пароли. Очень вероятно, что они будут перехвачены в какой-то момент, и у вас возникнет серьезная проблема.
Вот видео пример перехвата пароля Telnet. Telnet отправляет простой текст, и это прекрасно иллюстрирует главную проблему, с которой вы сталкиваетесь, если вы даже думаете об этом. Любой парень с двухбитным скриптом может подобрать простой текстовый пароль быстрее, чем вы, так что «Боже мой, куда делась моя база данных?»
Вы отправляете его в открытом виде, поэтому любой, кто прослушивает / прослушивает / т. Д. В сети клиента, сможет легко увидеть пароль. Вызов AJAX - это просто старое сообщение HTTP. Если вы хотите увидеть это в действии, запустите копию wirehark и сделайте запрос самостоятельно. Вы сможете увидеть пароль в HTTP-пакете.
Как уже упоминалось, SSL - лучшее решение. Однако вы можете хешировать пароль на стороне клиента. Если вы поищете это в Google, вы найдете множество javascript-реализаций md5.
Да, это читается. Как и все остальное, без какого-либо уровня безопасности (см. SSL)
Чтобы убедиться в этом, запустите такой инструмент, как WireShark , когда вы выполняете свои команды AJAX.
Насколько вероятно? Не очень, но пароль пользователя, вероятно, будет сохранен в чьих-то лог-файлах в виде простого текста. Если кто-то в конце концов его найдет, это может быть плохой новостью. Еще в колледже у моего класса по сетям был доступ к некоторым (полу) модным маршрутизаторам. У нас были задания, по которым мы регистрировали аккаунты на случайных сайтах. Когда мы это сделали, мы заметили очень страшные вещи в файлах журналов в маршрутизаторах. Это открыло мне глаза, когда я задумался о том, как каждое общение отслеживается и, скорее всего, где-то записывается.
Убедитесь, что целью вашего вызова AJAX является доверенная страница HTTPS: //, и вы сделали ее настолько же защищенной, как и любые другие отправления той же информации, что и остальная часть ваше приложение делает. Большинство библиотек / фреймворков не ограничивают вас только HTTP: // для ваших вызовов AJAX.
Это так же безопасно, как и отправка формы входа без защиты SSL по сети, как это делают почти все форумы!
Отправляете ли вы пароль через AJAX или через обычную форму, он все равно отправляется через HTTP POST
(надеюсь) запрос. Таким образом, вы не добавляете и не удаляете ничего разумного.
Единственный способ предотвратить перехват вашего пароля - это использовать SSL (через AJAX или нет).
Вызовы AJAX - это просто HTTP-запрос.
Он ведет себя как обычный HTTP-запрос, а также имеет все его преимущества и недостатки. Это ничуть не безопаснее.
Чтобы сделать ваши вызовы AJAX безопасными, вы можете попробовать несколько способов:
Как уже упоминалось, это не более опасно, чем отправка HTTP-сообщения из формы. Фактически, это одно и то же.
Но если HTTPS не подходит, вы всегда можете использовать схему запрос / ответ через незашифрованное соединение. В основном это работает так:
На самом деле это довольно просто настроить, как только вы поняли идею. В Википедии есть некоторая дополнительная информация.
РЕДАКТИРОВАТЬ: Я заметил, что забыл упомянуть, успешна ли аутентификация, вы должны удалить вызов, несмотря ни на что. Предоставление клиенту нескольких попыток для одного запроса может привести к проблемам с безопасностью.
На самом деле это довольно просто настроить, как только вы поняли идею. В Википедии есть некоторая дополнительная информация.
РЕДАКТИРОВАТЬ: Я заметил, что забыл упомянуть, успешна ли аутентификация, вы должны удалить вызов, независимо от того. Предоставление клиенту нескольких попыток для одного запроса может привести к проблемам с безопасностью.
На самом деле это довольно просто настроить, как только вы поняли идею. В Википедии есть некоторая дополнительная информация.
РЕДАКТИРОВАТЬ: Я заметил, что забыл упомянуть, успешна ли аутентификация, вы должны удалить вызов, независимо от того. Предоставление клиенту нескольких попыток для одного запроса может привести к проблемам с безопасностью.
На самом деле это довольно просто настроить, как только вы поняли идею. В Википедии есть некоторая дополнительная информация.
РЕДАКТИРОВАТЬ: Я заметил, что забыл упомянуть, успешна ли аутентификация, вы должны удалить вызов, несмотря ни на что. Предоставление клиенту нескольких попыток для одного запроса может привести к проблемам с безопасностью.
На самом деле это довольно просто настроить, как только вы поняли идею. В Википедии есть некоторая дополнительная информация.
РЕДАКТИРОВАТЬ: Я заметил, что забыл упомянуть, успешна ли аутентификация, вы должны удалить вызов, несмотря ни на что. Предоставление клиенту нескольких попыток для одного запроса может привести к проблемам с безопасностью.
несмотря на. Предоставление клиенту нескольких попыток для одного запроса может привести к проблемам с безопасностью. несмотря на. Предоставление клиенту нескольких попыток для одного запроса может привести к проблемам с безопасностью.Блин, ребята, вы меня беспокоите. SSL не защищает от атаки MITM с отравлением arp. Было бы фатально поклоняться SSL, как вы, ребята. У вас должен быть способ зашифровать пароль на стороне клиента до того, как он сделает хотя бы один прыжок, иначе даже начинающий хакер сможет перехватить пароль в виде открытого текста