Что произойдет, если пользователь посмотрит мой файл JavaScript, скопирует содержимое функции и отправит запрос на мой сервер с помощью AJAX? И есть ли способ правильно защитить от этого?
Обеспечение безопасности AJAX
Ответ 1
Способ защиты от этого не отличается от способа защиты от любого веб-запроса. Вы делаете это так, чтобы ваш сайт нуждался в некоторой форме аутентификации (то есть пользователи должны были входить в систему) и не делали ничего, если запрос не был должным образом аутентифицирован.
Обычно, когда вы делаете запрос AJAX, куки также отправляются вместе с запросом, поэтому вы должны просто использовать тот же метод проверки подлинности, который вы используете для своих обычных запросов, с вашими запросами AJAX.
Ответ 2
Как и в кодеке, невозможно предотвратить, чтобы кто-то создавал свой собственный запрос Ajax, который идентичен тому, который у вас есть в вашем запросе Javascript. Междоменная защита не обязательно защитит вас там, поскольку они могут, если они пожелают, просто введите Javascript в адресную строку для себя, находясь на странице вашего сайта.
Единственная защита, которую вы имеете, - это проверка ввода и параметров, предоставляемых с помощью запроса Ajax на стороне сервера. Ограничьте каждый PHP или Python или любой ответ script на очень конкретную задачу и проверьте ввод на стороне сервера. Если что-то не так, ответьте на ошибку.
Короче говоря, нет способа предотвратить отправку запроса кем-либо, но вы можете помешать им делать что-то, что вы не хотите делать на своем сервере.
Ответ 3
Предполагая, что вам нужна некоторая форма аутентификации:
Я думаю, вы можете поддерживать сеанс базы данных, чтобы проверить, поступает ли запрос от подлинного пользователя для поддела. Используйте зашифрованные файлы cookie для хранения идентификатора сеанса и укажите идентификатор сеанса cookie для базы данных для проверки пользователя.