Я переношу нашу систему в Google App Engine.IP-адрес сервера приложений App App
Когда нашему PDF-генератору нужен внешний ресурс (например, изображение), он выполняет внутренний HTTP-запрос (где IP-адрес запроса отличается от IP-адреса пользователя). Затем он запускает другой сеанс, поэтому я не вижу, зарегистрирован ли пользователь. Чтобы предоставить правильные разрешения, мне нужно проверить, поступает ли запрос с IP-адреса сервера.
В предыдущем коде я проверил это корыто следующий код:
if($_SERVER['REMOTE_ADDR'] == $_SERVER['SERVER_ADDR']) {
return true;
}
Но так как $ _SERVER [ «server_addr»] нет, это не может быть использован.
В новом коде я проверить это корыто следующий код:
$allowed_ips = array(
'127.0.0.1',
'8.35.201.100'
);
if(in_array($_SERVER['REMOTE_ADDR'], $allowed_ips)) { return true; }
Проблема заключается в том, Я не знаю, какие IP-адреса Google App Engine использует для внутреннего запроса. Я нашел IP-адрес 8.35.201.100 в качестве адреса сервера, но есть ли больше IP-адресов или диапазонов.
Задачи Очереди Google App Engine обрабатывают запросы с IP-адреса 0.1.0.2 (https://developers.google.com/appengine/docs/php/taskqueue/overview-push#Task_Execution). Это то же самое во внутреннем запросе.
здоровается, Хендрик
Вы можете использовать заголовки запросов вместо IP-адресов, заголовок сообщает вам, что этот запрос поступает из appengine, и он также сообщает вам appendine appID, поэтому вы можете определить свое приложение appengine –
, как я могу получить заголовки этого запроса? Я пробовал несколько способов ($ _SERVER, getallheaders()), но никто не дает мне источник запроса и appID – Hendrik