Проверьте, где находится файл прошивки, отправляющий запрос на PHP

У меня есть флэш-файл, который находится на моем веб-сайте, и у меня есть файл PHP, который получает запросы из флэш-файла каждые 5 минут. Я хочу быть уверен, что флеш-файл, который отправляет запрос, находится на моем сайте, а не где-то еще. Как мне это сделать. Есть ли что-то в глобальных переменных PHP, что может мне помочь, или есть что-то еще, что я могу сделать?


person Rafael Sedrakyan    schedule 05.04.2012    source источник
comment
Проверка этого из флэш-памяти ничем не отличается от проверки того же самого в обработчике AJAX: проверьте рефереры (ненадежно), используйте токены (более надежно, но все же ненадежно), требуйте подтвержденный вход в систему (еще лучше) и т. д.   -  person Marc B    schedule 05.04.2012


Ответы (2)


Вы можете получить что-то от $_SERVER['HTTP_REFERER'] или $_SERVER['REMOTE_HOST'], но эту информацию можно подделать.

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

person ghbarratt    schedule 05.04.2012

person    schedule
comment
Спасибо, но это ненадежное решение, потому что оно на стороне пользователя. Мне нужно проверить это в php, а не во flash. - person Rafael Sedrakyan; 05.04.2012
comment
Вы можете добавить данные из stage.loaderInfo.url в свои запросы, поступающие из flash, например, подпись или хэш, а затем сравнить их с PHP. - person Arkady; 05.04.2012