|
|
|
| Немного почитал по этой теме, в т.ч. книги от Софттайма, и возник этот вопрос (см. тему). Переменные REMOTE_ADDR, HTTP_FORWARDED_FOR - переменные серверные. А как же тогда это происходит (алгоритм)?
Клиент ставит на своей машине сокс-прокси и организует цепочку клиент->прокси (локальный) ->сервер провайдера ->сайт-назначение.
Или это не так? | |
|
|
|
|
|
|
|
для: Evgen
(22.12.2007 в 11:43)
| | Не очень понятно, в чём вопрос? | |
|
|
|
|
|
|
|
для: cheops
(22.12.2007 в 12:51)
| | Вопрос: как клиент может изменить свой IP-адрес, если переменная $_SERVER["REMOTE_ADDR"] формируется на стороне сервера?
PS. Анонимные прокси я не беру, хотя и в этом случае не клиент указывает измененный IP. | |
|
|
|
|
|
|
|
для: Evgen
(22.12.2007 в 13:58)
| | REMOTE_ADDR - указывает IP откуда пришел запрос,
т.е. если ты сидишь на прямую, то указывает твой IP (твоего провайдера).
если через прокси, то указывает IP прокси..
на этот IP пойдет ответ...
HTTP_FORWARDED_FOR и подобные переменные, если я не ошибаюсь, указывают в запросах(в заголовках).
Вроде это для владельцев сайтов, для того чтоб они могли узнать реальный IP (точно не знаю)...
т.к. HTTP_FORWARDED_FOR указывают в заголовках, мы можем вручную создать запрос, где можем указать любой IP под HTTP_FORWARDED_FOR.
отсюда владелец сайта будет думать, что ты сидишь через прокси, а IP у тебя такое, которое ты указал в этой переменной... | |
|
|
|
|
|
|
|
для: а-я
(22.12.2007 в 14:35)
| | Из книги Семёнова Ю.А. (ГНЦ ИТЭФ) "Телекоммуникационные технологии"
4.5.6.1. Гипертекстный протокол HTTP
4.3. Поля заголовка запроса
Request-header = Accept ; Раздел 13.1
| Accept-Charset ; Раздел 13.2
| Accept-Encoding ; Раздел 13.3
| Accept-Language ; Раздел 13.4
| Authorization ; Раздел 13.8
| From ; Раздел 13.22
| Host ; Раздел 13.23
| If-Modified-Since ; Раздел 13.24
| If-Match ; Раздел 13.25
| If-None-Match ; Раздел 13.26
| If-Range ; Раздел 13.27
| If-Unmodified-Since ; Раздел 13.28
| Max-Forwards ; Раздел 13.31
| Proxy-Authorization ; Раздел 13.34
| Range ; Раздел 13.36
| Referer ; Раздел 13.37
| User-Agent ; Раздел 13.42
|
...который из них HTTP_FORWARDED_FOR? | |
|
|
|
|
|
|
|
для: Evgen
(22.12.2007 в 15:32)
| | На самом деле переменная называется HTTP_X_FORWARDED_FROM. Все заголовки с префиксом X являются нестандартными и в спецификации протокола, соответственно, не описываются. | |
|
|
|
|
|
|
|
для: Evgen
(22.12.2007 в 15:32)
| | а где ты там видешь REMOTE_ADDR???
то что ты написал, это вид обычного запроса, который формирует БРОУЗЕР...
а переменную HTTP_FORWARDED_FOR (и подобные переменные) - формируется прокси сервером. | |
|
|
|
|
|
|
|
для: Evgen
(22.12.2007 в 13:58)
| | >Вопрос: как клиент может изменить свой IP-адрес, если переменная $_SERVER["REMOTE_ADDR"] формируется на стороне сервера?
>PS. Анонимные прокси я не беру, хотя и в этом случае не клиент указывает измененный IP.
Эта переменная заполняется тем значением IP-адреса, откуда обращается клиент, если он использует прокси-сервер, то эта переменная окружения получит IP-адрес прокси-сервера. | |
|
|
|