Использование регистра:Можно ли переопределить window.document.location.host?
- Мой сервер находится в домене www.mywebsite.com
- В веб-страницы, у меня есть тег вызов JavaScript к WebService, который находится в том же домене
- JavaScript вызов подписания и действует только в течение ограниченного времени
- WebService использовать сессионные куки, установленный в том же домене, чтобы вернуть имя пользователя в браузере
- Риск в том, что вредоносный сайт может царапать мою страницу, чтобы получить правильный вызов WebService и включить его на своей странице для отображения имени пользователя на его страницах для фишинга цели
Что я
Пусть говорят, что я хочу, чтобы предотвратить хотлинкинг этого JavaScript: <script type="text/javascript" src="http://webservice.mywebsite.com/username.js?ID=SERVICE_ID;ts=1386607643;sig=52f72b1a0fe9158d87d9e4ba4e26a731"/>
в username.js, я эта проверка:
if (document.location.host.match(/[.]mywebsite[.]com$/i) == null) { document.location.href="http://www.mywebsite.com/error.html"; } else { username = username_obtained_using_the_session_cookie }
Мой вопрос
ли это безопасно?
Можете ли вы уточнить в коде или псевдокоде, что именно вы делаете? Я не уверен, что сейчас понимаю. – janfoeh
Возможно, другая сторона может читать, модифицировать и загружать сценарий, я думаю. Но вы можете сделать это сложнее. В дополнение к жесткому кодированию он работает только на вашем домене, я бы минимизировал или упаковывал его (или иным образом запутывал код) и устанавливал сервер только для обслуживания сценария, если реферер является вашим доменом. – towr