Nano Hash - криптовалюты, майнинг, программирование

Как убедиться в ip посетителя?

У меня есть сайт-агрегатор блогов

истории упорядочены по количеству посещений

Я думаю, что сталкиваюсь со спамом посещений

потому что некоторые истории блогов получают много посещений в одну и ту же секунду с эфферентным IP-адресом

мой сайт не допускает посещения с одного и того же ip; однако мои посетители каким-то образом меняют свои ips.

Есть ли у них какое-либо решение для обнаружения спам-посещений? Интересно, как Google AdSense решает такую ​​проблему?

Спасибо


Ответы:


1

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

Однако Вы можете собрать несколько фрагментов информации и объединить их все:

1) Агент пользователя
2) IP-адрес
3) Заголовок X-Forwarded-For (если доступен)

Часто злоумышленники будут ленивы и не будут переключаться между разными пользовательскими агентами. Если вы настроите свою систему на обработку информации о посещениях с определенным интервалом (а не в режиме реального времени), вы потенциально можете отфильтровать большие наборы посещений, происходящих в одно и то же время с одним и тем же пользовательским агентом.

Вы всегда можете загрузить базы данных прокси-серверов с веб-сайтов, таких как antiproxy.com, но правда в том, что большинство хорошо спланированных атак сегодня исходят от узлов ботнета, которые еще предстоит задокументировать. Вполне возможно, что ваш сайт подвергнется атаке с гетерогенным трафиком, неотличимым от обычных посетителей.

По крайней мере, я бы предложил изменить вашу реализацию, чтобы пользователи могли голосовать за истории и запрашивать капчу.

16.05.2009
  • @novatrust Спасибо за объяснение, я изменил свой код, чтобы рассматривать всех пользователей с одним и тем же пользовательским агентом как спам, а также всех пользователей с одинаковым IP-адресом как спам, и я также попытаюсь использовать x-forwarded-for. изменение системы на систему голосования сделает ее очень сложной в моем случае. но в чем я не уверен? у нас есть уникальные пользовательские агенты? Спасибо 16.05.2009
  • Пользовательские агенты не уникальны, хотя часто они могут быть достаточно уникальными. Пример: 300 посещений в течение одной минуты, рекламирующих одну и ту же версию Firefox, панели инструментов браузера и установленную платформу .NET с одинаковым форматированием. Это маловероятно и может указывать на вредоносную активность. 16.05.2009

  • 2

    С PHP вы можете проверить переменную $_SERVER ["HTTP_X_FORWARDED_FOR"] по IP-адресу, чтобы немного больше убедиться, что клиент является тем, кем он себя называет. Это поможет идентифицировать людей через некоторые прокси.

    16.05.2009

    3

    Я иногда использую эту функцию. Но, как уже говорили другие, может быть сложно получить правильный IP-адрес в 100% случаев.

    Я не могу вспомнить, откуда я взял эту функцию, но, похоже, она довольно распространена в Интернете.

    function getRealIpAddr()
    {
        if (!empty($_SERVER['HTTP_CLIENT_IP']))   
        {
          $ip=$_SERVER['HTTP_CLIENT_IP'];
        }
        elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
        {
          $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
        }
        else
        {
          $ip=$_SERVER['REMOTE_ADDR'];
        }
        return $ip;
    }
    
    16.05.2009
  • Я не думаю, что это даст вам настоящий IP - просто первый, который установлен из порядка тестирования. Он даже не сравнивает $_SERVER['HTTP_X_FORWARDED_FOR'] с $_SERVER['HTTP_CLIENT_IP'] для совпадения, что предлагается в некоторых ответах. 16.05.2009

  • 4

    Вы не можете надежно определить IP.

    Он может проходить через прокси или может быть подделан.

    16.05.2009
  • Или - скажем прямо - это может быть просто реально! Представьте себе команду ботаников за одним шлюзом. Один из них бросает хороший URL в IRC... 16.05.2009
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..