Как безопасный это должно отправить незашифрованный пароль с помощью Ajax?

Да, я использую его довольно много - это может быть очень полезно для многопоточного кода. Статья, на которую Вы указали, является хорошей. Хотя существует две важных вещи принять во внимание:

  1. необходимо только использовать энергозависимый, если Вы полностью понимаете то, что это делает и как это отличается к синхронизируемому. Во многих энергозависимых ситуациях появляется, на поверхности чтобы быть более простым больше производительной альтернативы синхронизируемому, когда часто лучшее понимание энергозависимых ясно давало бы понять, что синхронизировался, является единственной опцией, которая работала бы.
  2. энергозависимый на самом деле не работает в большом количестве более старых JVMs, хотя синхронизируется делает. Я не забываю видеть документ, который сослался на различные уровни поддержки в различном JVMs, но к сожалению я не могу найти его теперь. Определенно изучите его при использовании Java пред 1,5 или если Вы не управляете JVMs, на котором будет работать Ваша программа.
12
задан Rikesh 21 February 2015 в 09:41
поделиться

12 ответов

Не более или менее безопасен, чем обычный HTTP-запрос POST, отправленный браузером (например, из

)

«Исправление» для этого такое же «исправление» для запросов, отличных от AJAX - используйте SSL.

45
ответ дан 2 December 2019 в 02:52
поделиться

Простой текстовый пароль, передаваемый через AJAX, будет таким же безопасным, как и тот же пароль, переданный через обычную HTTP-почту. То есть AJAX использует HTTP и поэтому может быть перехвачен и обнаружен. Лучше всего использовать HTTPS (SSL).

Для дальнейшего чтения по AJAX и безопасности я бы порекомендовал следующие материалы

0
ответ дан 2 December 2019 в 02:52
поделиться

Это небезопасно. Не отправляйте незашифрованные пароли. Очень вероятно, что они будут перехвачены в какой-то момент, и у вас возникнет серьезная проблема.

Вот видео пример перехвата пароля Telnet. Telnet отправляет простой текст, и это прекрасно иллюстрирует главную проблему, с которой вы сталкиваетесь, если вы даже думаете об этом. Любой парень с двухбитным скриптом может подобрать простой текстовый пароль быстрее, чем вы, так что «Боже мой, куда делась моя база данных?»

0
ответ дан 2 December 2019 в 02:52
поделиться

Вы отправляете его в открытом виде, поэтому любой, кто прослушивает / прослушивает / т. Д. В сети клиента, сможет легко увидеть пароль. Вызов AJAX - это просто старое сообщение HTTP. Если вы хотите увидеть это в действии, запустите копию wirehark и сделайте запрос самостоятельно. Вы сможете увидеть пароль в HTTP-пакете.

0
ответ дан 2 December 2019 в 02:52
поделиться

Как уже упоминалось, SSL - лучшее решение. Однако вы можете хешировать пароль на стороне клиента. Если вы поищете это в Google, вы найдете множество javascript-реализаций md5.

0
ответ дан 2 December 2019 в 02:52
поделиться

Да, это читается. Как и все остальное, без какого-либо уровня безопасности (см. SSL)

Чтобы убедиться в этом, запустите такой инструмент, как WireShark , когда вы выполняете свои команды AJAX.

Насколько вероятно? Не очень, но пароль пользователя, вероятно, будет сохранен в чьих-то лог-файлах в виде простого текста. Если кто-то в конце концов его найдет, это может быть плохой новостью. Еще в колледже у моего класса по сетям был доступ к некоторым (полу) модным маршрутизаторам. У нас были задания, по которым мы регистрировали аккаунты на случайных сайтах. Когда мы это сделали, мы заметили очень страшные вещи в файлах журналов в маршрутизаторах. Это открыло мне глаза, когда я задумался о том, как каждое общение отслеживается и, скорее всего, где-то записывается.

1
ответ дан 2 December 2019 в 02:52
поделиться

Убедитесь, что целью вашего вызова AJAX является доверенная страница HTTPS: //, и вы сделали ее настолько же защищенной, как и любые другие отправления той же информации, что и остальная часть ваше приложение делает. Большинство библиотек / фреймворков не ограничивают вас только HTTP: // для ваших вызовов AJAX.

1
ответ дан 2 December 2019 в 02:52
поделиться

Это так же безопасно, как и отправка формы входа без защиты SSL по сети, как это делают почти все форумы!

1
ответ дан 2 December 2019 в 02:52
поделиться

Отправляете ли вы пароль через AJAX или через обычную форму, он все равно отправляется через HTTP POST (надеюсь) запрос. Таким образом, вы не добавляете и не удаляете ничего разумного.

Единственный способ предотвратить перехват вашего пароля - это использовать SSL (через AJAX или нет).

7
ответ дан 2 December 2019 в 02:52
поделиться

Вызовы AJAX - это просто HTTP-запрос.

Он ведет себя как обычный HTTP-запрос, а также имеет все его преимущества и недостатки. Это ничуть не безопаснее.

Чтобы сделать ваши вызовы AJAX безопасными, вы можете попробовать несколько способов:

  1. Использовать SSL. SSL будет шифровать сообщения между вашим пользователем и вашим сервером. Недостатком SSL является то, что вам придется платить дополнительную плату за действующие SSL-сертификаты. Недействительные сертификаты SSL, хотя и могут использоваться, не обеспечивают такой же уровень гарантии безопасности для пользователей.
  2. Шифруйте запросы перед отправкой на стороне клиента. Например: хешировать пароль пользователя перед отправкой по сети. В большинстве случаев вам все равно не нужен обычный текстовый пароль пользователя. Это неприменимо, когда пользователи не разрешают запускать сценарии на стороне клиента.
  3. И помимо распространенной вводящей в заблуждение информации о том, что POST безопаснее, чем GET, это не так. Оба одинаково открыты для злоумышленников.
1
ответ дан 2 December 2019 в 02:52
поделиться

Как уже упоминалось, это не более опасно, чем отправка HTTP-сообщения из формы. Фактически, это одно и то же.

Но если HTTPS не подходит, вы всегда можете использовать схему запрос / ответ через незашифрованное соединение. В основном это работает так:

  • Сервер имеет SHA (или любой другой алгоритм хеширования, который вы предпочитаете) хэш пароля пользователя.
  • У клиента есть пароль.
  • Клиент запрашивает (используя незашифрованный AJAX), чтобы сервер отправлял вызов (случайная строка байтов; допустимы символы.)
  • Сервер создает вызов и идентификатор вызова и сохраняет его с истечением срока действия.
  • Клиент получает вызов и идентификатор вызова.
  • Клиент хеширует пароль с использованием SHA.
  • Клиент хеширует полученный хеш с добавлением запроса каким-либо образом.
  • Клиент отправляет идентификатор вызова (не сам вызов) и второй результирующий хэш.
  • Сервер ищет запрос, используя идентификатор, если он существует и срок его действия не истек.
  • Сервер добавляет запрос к сохраненному хешу пароля. и создает хеш, используя ту же схему, что и клиент.
  • Сервер сравнивает свой хэш с клиентом. Если это то же самое, то пользователь аутентифицируется.

На самом деле это довольно просто настроить, как только вы поняли идею. В Википедии есть некоторая дополнительная информация.

РЕДАКТИРОВАТЬ: Я заметил, что забыл упомянуть, успешна ли аутентификация, вы должны удалить вызов, несмотря ни на что. Предоставление клиенту нескольких попыток для одного запроса может привести к проблемам с безопасностью.

  • Сервер ищет запрос, используя идентификатор, если он существует и срок его действия не истек.
  • Сервер добавляет запрос к сохраненному хешу пароля и создает хэш, используя ту же схему, что и клиент.
  • Сервер сравнивает свой хеш с клиент. Если это то же самое, то пользователь аутентифицируется.
  • На самом деле это довольно просто настроить, как только вы поняли идею. В Википедии есть некоторая дополнительная информация.

    РЕДАКТИРОВАТЬ: Я заметил, что забыл упомянуть, успешна ли аутентификация, вы должны удалить вызов, независимо от того. Предоставление клиенту нескольких попыток для одного запроса может привести к проблемам с безопасностью.

  • Сервер ищет запрос, используя идентификатор, если он существует и срок его действия не истек.
  • Сервер добавляет запрос к сохраненному хешу пароля и создает хэш, используя ту же схему, что и клиент.
  • Сервер сравнивает свой хеш с клиент. Если это то же самое, то пользователь аутентифицируется.
  • На самом деле это довольно просто настроить, как только вы поняли идею. В Википедии есть некоторая дополнительная информация.

    РЕДАКТИРОВАТЬ: Я заметил, что забыл упомянуть, успешна ли аутентификация, вы должны удалить вызов, независимо от того. Предоставление клиенту нескольких попыток для одного запроса может привести к проблемам с безопасностью.

  • Сервер сравнивает свой хэш с клиентским. Если это то же самое, то пользователь аутентифицируется.
  • На самом деле это довольно просто настроить, как только вы поняли идею. В Википедии есть некоторая дополнительная информация.

    РЕДАКТИРОВАТЬ: Я заметил, что забыл упомянуть, успешна ли аутентификация, вы должны удалить вызов, несмотря ни на что. Предоставление клиенту нескольких попыток для одного запроса может привести к проблемам с безопасностью.

  • Сервер сравнивает свой хэш с клиентским. Если это то же самое, то пользователь аутентифицируется.
  • На самом деле это довольно просто настроить, как только вы поняли идею. В Википедии есть некоторая дополнительная информация.

    РЕДАКТИРОВАТЬ: Я заметил, что забыл упомянуть, успешна ли аутентификация, вы должны удалить вызов, несмотря ни на что. Предоставление клиенту нескольких попыток для одного запроса может привести к проблемам с безопасностью.

    несмотря на. Предоставление клиенту нескольких попыток для одного запроса может привести к проблемам с безопасностью.

    несмотря на. Предоставление клиенту нескольких попыток для одного запроса может привести к проблемам с безопасностью.

    20
    ответ дан 2 December 2019 в 02:52
    поделиться

    Блин, ребята, вы меня беспокоите. SSL не защищает от атаки MITM с отравлением arp. Было бы фатально поклоняться SSL, как вы, ребята. У вас должен быть способ зашифровать пароль на стороне клиента до того, как он сделает хотя бы один прыжок, иначе даже начинающий хакер сможет перехватить пароль в виде открытого текста

    0
    ответ дан 2 December 2019 в 02:52
    поделиться
    Другие вопросы по тегам:

    Похожие вопросы: