Получить IP-адрес звонящего в приложении Pyro4
Короче говоря: есть ли способ получить IP-адрес ненадежного клиента, вызывающего удаленный прокси-объект, используя Pyro4?
Таким образом, человек A вызывает мой объект с IP 123.123.123.123, а человек B с IP 111.111.111.111 может каким-либо образом отличить их в Pyro4, предполагая, что им нельзя доверять достаточно для представления своего собственного IP.
2 ответа
Я наткнулся на ваш вопрос, когда искал то же самое. Если я понимаю, на стороне сервера вы хотите знать IP-адрес, к которому подключен сокет клиента, верно? Если так, то это сделаем это:
Pyro4.current_context.client.sock.getpeername()[0]
Обнаружено, что в этом разделе руководства пользователя Pyro4
Вот мое решение моей проблемы: поскольку мне не нужно было получать конкретные адреса клиентов, использующих Pyro, просто чтобы отличить клиентов в определенной подсети (в моем классе) от других ips (студентов, работающих дома). Я только запустил два пиро-клиента на двух портах, а затем отфильтровал трафик с помощью брандмауэра.