У меня есть вопрос относительно политики кросс-происхождения.Можно ли ограничить API только одним веб-интерфейсом/приложением?
У меня есть веб-приложение, которое получает данные, обычно в формате JSON, через ajax.
При инициализации веб-приложения с сервера через ajax создается уникальный «ключ» или «токен» и отправляется клиенту как средство для его идентификации. Токен отправляется обратно на каждый вызов ajax для целей проверки. Если он не проверяется в течение двух часов, скрипт PHP удаляет его, и пользователь должен снова пройти проверку подлинности.
Если пользователь отправляет другой вызов ajax (т. Е. Если есть активность с ассоциированным токеном), токен устанавливает его истечение еще на 2 часа.
При каждом вызове я проверяю токен, а затем обрабатываю запрос. Все работает хорошо, но моя проблема ориентирована на безопасность.
Поскольку маркер хранится на стороне клиента (очень грубо, как window.token = 'YTM0NZomIzI2OTsmIzM0NTueYQ==';
), не будет ли это возможно для злонамеренных пользователей, чтобы проверить код, скопируйте JavaScript
включая знак, и создать еще одно приложение, которое будет доступ к тем же данные?
Вкратце: да. :) – deceze
Да, и вы ничего не можете с этим поделать. – SLaks
Я не знаю PHP, но разве он уже не содержит функции сеанса? –