Подмена Javascript.location.hostname - PullRequest
1 голос
/ 08 июля 2011

Я разрабатываю API, где владелец веб-сайта отправляет URL своего веб-сайта в базу данных, когда пользователь использует API, имя хоста javascript отправляется в нашу базу данных и проверяется на соответствие строке, которую он отправил при регистрации.Возможно ли, чтобы злоумышленник подделал свое имя хоста?Если да, есть ли более безопасные методы?

1 Ответ

3 голосов
/ 08 июля 2011

Любой может отправить произвольно сконструированный HTTP-запрос; заголовкам referer или свойствам window.location нельзя доверять (даже если пользователь не может изменить содержимое window.location в своем браузере - по крайней мере, не вызывая навигацию), пользователь всегда может наблюдать, какие запросы генерируются как результат этого значения, а затем отправить HTTP-запрос с измененным).

Если это будет проблемой, то вы, вероятно, захотите использовать цифровые подписи вместе с доменом, чтобы гарантировать, что домен не был изменен (т. Е. Изменение домена без изменения токена подписи сделает запрос недействительным, и генерация подписывающего токена из домена неочевидна и требует некоторого серверного серверного механизма, который вы предоставляете клиентам вашего API).

...