Для правильного вопроса надо знать половину ответа
Получать порт нет никакого смысла. Поскольку запросы от браузера пользователя к вашему сайту могут идти параллельно, то браузер просто для каждого TCP-соединения использует со своей стороны новый порт.
Newfag1994, А для чего его хранить? Что может дать вам знание порта? Учитывая, что у многих серые адреса и два или три NAT'а по дороге до вас, порт, с которого вам пришёл запрос, может не соответствовать порту, с которого браузер его отправил. Да, в принципе, и IP-адрес тоже.
Связку IP+порт хранить не имеет смысла, потому что номер порта НИЧЕГО не значит, его негде применить. Это как на почтовом конверте в "Адресе получателя" приписать "3-ий этаж, дверь зелёная, обитая дермантином, дверная ручка медная фигурная, в форме льва, нажимать против часовой стрелки". Поможет это почтальену донести письмо до почтового ящика на 1-ом этаже?
Rsa97, Хранить для вычисления злоумышленника. Насколько мне известно, в случае совершения незаконного действия ВК (например, отправка анонимом сообщений с серьезными угрозами), правоохранительные органы получают у ВК IP и порт, под которыми было отправлено данное сообщение, идут к провайдеру, которому данный IP принадлежит (если, конечно, там не VPN или прокси, тут будет сложнее), предоставляют ему IP, номер порта и точное время отправки данного сообщения. Дальше провайдер смотрит по логам, какому именно IP из внутренней сети провайдера (если пользователь сидит за NAT) принадлежала по таблице маршрутизации связка из внешних IP и порта в нужное время. А по внутреннему IP уже вычисляют самого абонента.
Так я не понял, а почему нет смысла хранить IP и порт отправителя? Получается, для того, чтобы совершать нехорошие дела в том же ВК, достаточно просто сидеть за NAT провайдера и все? Я выше расписал, почему логично хранить эти данные.
порт не идентифицирует ничего.
если сидеть за NAT - детализация идет до уровня этого NAT, иначе только спрашивать логи у админов NAT.
Именно поэтому люди используют VPN сервисы для анонимизации - в логах будет IP VPN, а если vpn не в юрисдикции страны которая отправляет запрос - им с высокой вероятностью подотруться
Дмитрий Энтелис, Ну я делаю предположение, что провайдеры хранят в логах IP и порт исходящих пакетов, поэтому по этим логам имея внешний IP и внешний порт можно установить, кто в такое-то время отправлял пакет. У них же должны храниться логи таблицы маршрутизации.
Объясняю для тех, кто меня не понял на примере.
Пользователь отправляет сообщение на сайте => отправляется пакет данных, в котором указаны IP и порт отправителя (пусть это будет 192.168.1.2:57668, где IP в данном случае - это IP в локальной сети домашнего роутера пользователя) => пакет приходит на домашний роутер пользователя, там по таблице маршрутизации ему задаются новые IP и порт (например, 172.16.20.5:59008, это IP во внутренней сети провайдера) => пакет приходит на маршрутизатор провайдера, где по таблице маршрутизации ему задается внешний IP и новый порт (например, 88.87.86.85:59877) и по логике должен сохраниться лог, где сопоставлены внешние IP и порт с внутренними (т.е. запись вида 88.87.86.85:59877 => 172.16.20.5:59008 и другие данные, в т.ч. IP и порт сервера, куда идет пакет).
Так вот, на сервере с сайтом будет сохранено, что в такое-то время пришло такое-то сообщение от пользователя 88.87.86.85:59877. И имея эти данные, с ними правоохранительные органы могут идти к провайдеру, а провайдер по своим логам увидит, что в такое-то время 88.87.86.85:59877 - это 172.16.20.5:59008. Смотрим, кто сидел под IP 172.16.20.5 в это время. Все, абонент найден! Вот почему я говорю о том, что порт нужно хранить.
P.S. Конечно, это все без учета того, что злоумышленник сидел за VPN или прокси, там процесс будет сложнее.
Newfag1994,
Во смотрите: ваш сайт обслуживает пользователей по http.
Вам поступает запрос с ip 123.456.789.012 по 80 порту.
На какой порт ожидает ответ клиент - в php получить невозможно, это внутри веб-сервера.
Самое главное что с практической точки зрения эти логи бесполезны, т.к 123.456.789.012 приналежит серверу где-нибудь в нидерландах который на запросы органов ответит примерно никогда.
с точки зрения российского законодательства, если вы работаете с пд - достаточно хранить связку 123.456.789.012:80
Дмитрий Энтелис, Ну вот я привел пример. В PHP можно же получить IP входящего запроса от удаленной машины через $_SERVER['REMOTE_ADDR']. Можно получить и порт через $_SERVER['REMOTE_PORT']. Именно под такими IP и портом пришел запрос (например, сообщение) от пользователя на веб-сервер. Ты, как разработчик сайта, отдаешь эти данные правоохранительным органам, а те отдают их провайдеру, а тот, в свою очередь, по логам ищет, что в такое-то время эти IP и порт были сопоставлены такому-то внутреннему IP, по которому и вычисляется абонент. Опять же, это все без VPN и прокси.