У меня есть флэш-файл, который находится на моем веб-сайте, и у меня есть файл PHP, который получает запросы из флэш-файла каждые 5 минут. Я хочу быть уверен, что флеш-файл, который отправляет запрос, находится на моем сайте, а не где-то еще. Как мне это сделать. Есть ли что-то в глобальных переменных PHP, что может мне помочь, или есть что-то еще, что я могу сделать?
Проверьте, где находится файл прошивки, отправляющий запрос на PHP
comment
Проверка этого из флэш-памяти ничем не отличается от проверки того же самого в обработчике AJAX: проверьте рефереры (ненадежно), используйте токены (более надежно, но все же ненадежно), требуйте подтвержденный вход в систему (еще лучше) и т. д.
- person Marc B   schedule 05.04.2012
Ответы (2)
Вы можете получить что-то от $_SERVER['HTTP_REFERER']
или $_SERVER['REMOTE_HOST']
, но эту информацию можно подделать.
Существует множество методов, которые можно использовать для обеспечения того, чтобы запросы поступали из определенного/законного источника. Сначала мне приходит в голову метод проверки отправителя с использованием цифровой подписи. Если вы хотите избежать использования пары открытый-закрытый ключ, и поскольку запрос поступает с того же сервера, который получает, используйте предварительно общий секретный ключ может быть уместным (только обязательно хешируйте с солью).
person
ghbarratt
schedule
05.04.2012
person
schedule
Спасибо, но это ненадежное решение, потому что оно на стороне пользователя. Мне нужно проверить это в php, а не во flash.
- person Rafael Sedrakyan; 05.04.2012
Вы можете добавить данные из stage.loaderInfo.url в свои запросы, поступающие из flash, например, подпись или хэш, а затем сравнить их с PHP.
- person Arkady; 05.04.2012