Если у вас есть проблемы с безопасностью, они не уникальны для ajax, но есть простые способы усложнить работу.
1) Как говорит Диодей - абсолютно не позволяйте людям пользоваться вашими услугами без их аутентификации через сеанс. То же, что и любая другая страница на веб-сайте, требующая входа в систему.
2) усложнить захват сеанса, внедрив информацию о клиенте в ключ сеанса (cookie) и проверив ее на сервере, например, IP-адрес, версия браузера. Это все еще можно подделать, хотя.
3) Если конкретный сеанс делает более x запросов за определенный период времени (например, 10 в минуту), выйдите из системы и заблокируйте их на час. Установите более высокий предел, чтобы запретить их, пока не будет восстановлено администратором. Каждый раз, когда это происходит, отправляйте по электронной почте код, чтобы знать, есть ли у вас проблемы.
4) Если вы действительно обеспокоены, используйте SSL. Это действительно единственный способ полностью предотвратить перехват сеанса (кроме реализации собственного механизма шифрования личного ключа для данных сеанса).
5) Если вы не используете SSL, вы не можете остановить возможность перехвата сеанса, но вы МОЖЕТЕ защитить пароли своего пользователя от легкого отслеживания. При аутентификации сделайте следующее:
- Клиентский скрипт запрашивает соль с сервера (случайная строка)
- Сервер отправляет соль клиенту и запоминает его во время сеанса
- Клиент хэширует пароль, используя Sha-256 , например, с солью, и аутентифицируется с помощью своего имени пользователя и хешированного пароля. Сервер хэширует пароль, связанный с пользователем на своем конце, используя ту же соль, и проверяет подлинность, если он совпадает с хэшем, отправленным клиентом. Сервер забывает соль, которую он использовал один раз.
Таким образом, кто-то, наблюдающий за сеансом, мог видеть только хешированный пароль, и, поскольку хэш-код каждый раз меняется, он не мог на самом деле снова войти в систему, используя этот хэш против вашей службы. Вы по-прежнему не можете помешать им перехватить сеанс, но вы можете помешать им видеть пароли ваших пользователей или иметь возможность войти в систему самостоятельно.
На самом деле перехват сеансов не так уж и распространен, хотя громкой реализацией, конечно же, является Facebook через Wi-Fi. Если кто-то использует плагин Firefox для взлома вашей социальной сети, вы должны быть в восторге, потому что знаете, что сделали это.