Получение клиентского IP-адреса: REMOTE_ADDR, HTTP_X_FORWARDED_FOR, что еще могло быть полезным?

В трассировке мы видим, что каретка указывает на интерполяцию строки [PEP-0498] . Эта функция поддерживается начиная с , но вы запускаете свой код с помощью:

python3.5 manage.py runserver

, поэтому интерпретатор не понимает эту интерполяцию строк.

У вас в основном есть два варианта:

  1. попытаться запустить это с (или выше), хотя, конечно, всегда есть риск, что что-то затем:

    python3.6 manage.py runserver
  2. выполните правильное форматирование, замените:

    prefix=f"{org.id}/"

    на:

    prefix="{}/".format(org.id)

[1117 ] или каким-либо другим способом отформатировать это.

58
задан yzorg 11 December 2017 в 14:22
поделиться

4 ответа

Это зависит от природы Вашего сайта.

я, оказывается, работаю над небольшим количеством программного обеспечения, где отслеживание IP важно, и в поле, использованном более дерзкими сайтами, я предположил бы, что приблизительно 20% - 40% запросов являются или обнаруживаемо имитировали дюйм/с или заголовки, замененные пустым местом, в зависимости от времени суток и куда они произошли из. Для сайта, который получает органический трафик (т.е. не через партнеров) я ожидал бы намного более высокое отношение хорошего дюйм/с

Как сказанный Коси, был бы осторожен, что Вы делаете с этим - дюйм/с никоим образом не является надежным способом идентифицировать уникальных посетителей.

29
ответ дан annakata 24 November 2019 в 18:54
поделиться

Никакой реальный ответ на Ваш вопрос, но:
Обычно доверие клиентскому IP-адресу является, по-моему, не хорошей практикой, поскольку это не применимо для идентификации клиентов уникальным способом.

проблемы на дороге состоят в том, что существует довольно много сценариев, где IP действительно не выравнивается клиенту:

  • Proxy/Webfilter (искажают почти все)
  • сеть Anonymizer (никакой шанс здесь любой)
  • NAT (внутренний IP не очень полезен для Вас)
  • ...

я не могу предложить статистику по тому, сколько IP-адреса в среднем надежные, но что я могу сказать Вам, что почти невозможно сказать, является ли данный IP-адрес реальным клиентским адресом.

7
ответ дан Kosi2801 24 November 2019 в 18:54
поделиться

В дополнение к REMOTE_ADDR и HTTP_X_FORWARDED_FOR можно установить и другие заголовки, например:

  • HTTP_CLIENT_IP
  • HTTP_X_FOR [1143217ED_F ] может быть список IP-адресов, разделенных запятыми
  • HTTP_X_FORWARDED
  • HTTP_X_CLUSTER_CLIENT_IP
  • HTTP_FORWARDED_FOR
  • HTTP_FORWARDED

Я нашел полезный код на следующем сайте:
http://www.grantburton.com/ ? p = 97

61
ответ дан 24 November 2019 в 18:54
поделиться

IP + "Агент пользователя" мог быть лучшим для уникального посетителя.

2
ответ дан Mahesh 24 November 2019 в 18:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: