#php
#php
Вопрос:
Я гуглил и гуглил, и я в тупике.
Я пытаюсь захватить URL страницы после входа в прокси
url страницы перед входом в прокси:
https://example.org/mypage.php
url страницы после входа в прокси:
https ://example-org.proxy.example.org/mypage.php
Когда я пытаюсь захватить URL-адрес с помощью
$lnk = "https ://$_SERVER['HTTP_HOST']$_SERVER['REQUEST_URI']";
вывод по желанию:
https ://example-org.proxy.example.org/mypage.php
Когда я отключаю https: // и просто записываю переменные $SERVER, на выходе отсутствует прокси-часть URL.
$lnk = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
вывод:
example.org/mypage.php
Последнее имеет смысл, как если бы я сбрасывал массив $SERVER, я вижу, что прокси-часть URL отсутствует. Как он находит информацию о прокси в первом примере?
Обновление:
я использовал окно incogneto в Chrome и попробовал его в IE, такое же поведение. Я попробовал следующее
$lnk = $ _SERVER[‘HTTP_HOST’].$_SERVER[‘REQUEST_URI’];
$ lnk2 = «https: //».$ lnk;
повторение обеих переменных дает те же результаты, что и выше. Если я изменю http:// на ‘bla’ или ‘bla: //’, $ lnk и $ lnk2 оба показывают ожидаемый не проксируемый URL. Похоже, что http:// и https:// каким-то образом меняют это, и я, хоть убей, не могу понять, как.
Комментарии:
1. Вы уверены, что подключены через прокси при тестировании второго примера?
2. ваш прокси обрабатывает https? его нужно было бы настроить довольно тщательно, чтобы иметь возможность прокси-соединения SSL, и (возможно) также нужны хаки на стороне клиента.
3. Значение
$_SERVER[HTTP_HOST]
не может меняться в зависимости от других частей строки, в которую вы его интерполируете.4. Да, я подключен через прокси, и да, он принимает https. Я вошел в прокси и перезагрузил страницу, на которой отображались обе версии переменной на странице.
5. Бармар, для меня это тоже не имеет смысла.
Ответ №1:
Оказывается, прокси, вероятно, выполнял поиск и замену в потоке. Я добавил пару строк кода для печати содержимого $ lnk2 в файл сразу после создания, и, конечно же, в нем не было прокси-URL, как и ожидалось. Рад узнать, что я не сходил с ума.