Не позволяя сценаристам захлопнуть ваш сайт

Поскольку я не нашел jQuery-бесплатный ответ, который я мог бы скопировать / вставить, вот решение, которое я использовал:

function clickEvent(e) {
  // e = Mouse click event.
  var rect = e.target.getBoundingClientRect();
  var x = e.clientX - rect.left; //x position within the element.
  var y = e.clientY - rect.top;  //y position within the element.
}

JSFiddle полного примера

486
задан 14 revs, 6 users 53% 4 May 2018 в 17:37
поделиться

125 ответов

Таким образом, проблема действительно, кажется: боты хотят свою "сумку 'o дерьмо", потому что это имеет высокое воспринятое значение по низкой воспринятой цене. Вы иногда предлагаете этот объект и слежку ботов, ожидая, чтобы видеть, доступно ли это, и затем они покупают изделие.

, Так как это походит, владельцы ботов получают прибыль (или потенциально получают прибыль), прием должен сделать это убыточным для них поощрение их для покупки дерьма.

Первый, всегда предлагают "сумку 'o дерьмо".

115-секундный, удостоверьтесь, что дерьмо обычно является дерьмом.

В-третьих, поворачивайте дерьмо часто.

Простой, нет?

Вам будет нужно постоянное, "почему наше дерьмо, иногда гадят?" ссылка рядом с предложением объяснить людям, что продолжается.

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

, Если они покупают достаточное количество этого дерьма в относительно короткий промежуток времени (и у Вас есть большие правовые оговорки, повсеместно объясняя, почему Вы делаете это), они собираются потерять справедливую "сумку 'o наличные деньги" на Вашей "сумке 'o дерьмо". Даже человеческое вмешательство с их стороны (проверяющий, чтобы гарантировать, что дерьмо не является дерьмом) может перестать работать при вращении дерьма достаточно часто. Heck, возможно, боты заметят и не купят что-либо, чем это было во вращении в течение слишком короткого времени, но это означает, что люди купят недерьмо.

Heck, Ваши постоянные клиенты могли бы быть так удивлены, что можно превратить это в огромную маркетинговую победу. Начните отправлять, сколько из "загаженного" карпа продается. Люди возвратятся только, чтобы видеть, как трудно боты были укушены.

Обновление: я ожидаю, что Вы могли бы получить несколько вызовов впереди с людьми, жалующимися. Я не думаю, что можно остановить это полностью. Однако, если это уничтожает ботов, можно всегда останавливать его и перезапускать его позже.

21
ответ дан Ovid 5 May 2018 в 03:37
поделиться

Некоторые идеи:

  1. Простой: не называйте его "Случайным Дерьмом". Измените имя объекта каждый раз так, чтобы ботам пришлось тяжелее, определив его. Они могут все еще искать объекты за 1,00$, в этом случае я иногда предлагаю продать палки за 1$ резины в течение нескольких минут. Поставка за 5$ должна не остаться в долгу.

  2. Тяжелее: не заставляйте пользователей сделать, что-либо дополнительное - заставляет компьютеры пользователей сделать что-то дополнительное. Запишите функцию JavaScript, которая работает, интенсивное вычисление, берущее хорошее количество вычислительной мощности - говорят, десятимиллионное простое число - и имеют компьютер пользователя, вычисляют то значение и пасуют назад его перед принятием порядка (возможно, даже для создания "URL" порядка места). Измените функцию для каждого BoC так, чтобы боты не могли предварительно вычислить и результаты кэша (но так, чтобы Вы могли). Вычисление наверху могло бы просто замедлить ботов достаточно для хранения их от спин - если ничто иное, оно замедлит хиты на серверах так, чтобы они могли дышать. Вы могли также варьироваться глубина вычисления - десятимиллионного начала по сравнению со стамиллионным - наугад так, чтобы процесс упорядочивания строго больше не сначала прибывался, сначала подан, и постараться не штрафовать клиентов с более медленными компьютерами.

    • E
1
ответ дан EJC 5 May 2018 в 03:37
поделиться

Честно, я думаю, что Ваше лучшее решение состоит в том, чтобы заставить объекты во время Woot-прочь только быть видимыми к, вошел в систему пользователи, и ограничьте каждого зарегистрированного пользователя одним обновлением домашней страницы каждые 500 мс или около этого. (Или возможно заставьте только изображение объекта быть видимым неаутентифицируемым пользователям во время Woot-прочь и удостовериться, что Вы не всегда используете то же изображение для Случайного Дерьма.) Я думаю, что пользователи Woot были бы готовы принять это, если Вы продаете его в качестве меры, чтобы помочь им получить свои Миски Сливочности, и можно также указать, что это поможет им проверить более быстрый. Что-либо еще - даже использование капчей - подвергается Вашей типичной гонке вооружений.

0
ответ дан Brent Royal-Gordon 5 May 2018 в 03:37
поделиться

Простите мне, если этот ответ был уже отправлен. Существует много ответов, чтобы попытаться считать & поймите всех их.

, Почему не мог, Вы всего изменяете свой покупательный API время от времени? Разве это не было бы абсолютно очевидно для пользователей - людей и в значительной степени уничтожило бы большинство покупателей бота?

Одна реализация должна была бы изменить имена полей, которые пользователь должен заполнить и отправить на странице после удара кнопки "I Want One". Сколько раз года Вы на самом деле продаете BOC? Не то, чтобы часто. Таким образом, это не было бы огромной нагрузкой программирования, чтобы иметь другой покупательный API, запрограммированный, протестированный и готовый к употреблению каждый раз, когда BOC поступает в продажу.

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

0
ответ дан Kurt W. Leucht 5 May 2018 в 03:37
поделиться

Хорошо, у меня есть несколько вопросов больше, чем ответ, потому что у меня нет опыта с технологией, чтобы знать, могла ли она / работа или помогла бы.

Со следующими целями:
1. Продайте товар к несценариям людей.
2. Поддерживайте сайт в рабочем состоянии на скорости, которую не замедляют боты.
3. Не изводите 'нормальных' пользователей ни с какими задачами завершиться, чтобы доказать, что они являются человеческими.

Мои вопросы:
-. Был бы приложение Flash или апплет Java, или Silverlight или что-либо подобное уменьшают простоту анализа экранных данных достаточно для уменьшения влияния ботов?
мне любопытно, если они являются столь же широко открытыми для внешнего управления как типичный javascript/html. В то время как это не стандартно для веб-разработки и не может быть 'хорошо' с точки зрения SEO, это кажется, что поисковая видимость не является Вашей проблемой, если у Вас есть миллионы пользователей. Я полагаю, что любой из них мог все еще предложить очень красивый интерфейс, таким образом, Ваши люди не будут пугаться дизайна.

-. Вы могли поместить всю свою информацию в Изображении? Я никогда не видел часть woot, который Вы отсылаете также, но что я предлагаю, должен поместить любой текст что потребности человека знать в человеческом дружественном изображении вместо благоприятного для бота текстового поля.

, О, и к второму что-то сослалось на в некоторых из других ответов. Не упускайте большую возможность, которую Вы имеете: у Вас есть большой Спрос от Ботов, и те люди с Ботами действительно покупают право? Вы все еще хотите их деньги? (Причина в противном случае я возьму его.)

Делают у этих людей с Ботами есть какая-либо альтернатива для покупки от Вас? Выделите свои мешки дерьма.

Создали woot подсайт для ботов, приспособленных к ботам, и позволяют сценаристам иметь большую забаву И заплатить Вам деньги за него. Продайте им дерьмо и позвольте им бросить вызов себе против других сценаристов. Это - целый отдельный рынок, доступный Вам.

, Если у них есть альтернатива, где они могут выиграть что-то И получить престиж об этом, они могли бы быть немного менее склонны избить на маленьком старом человеке.

0
ответ дан 2 revsknowone 5 May 2018 в 03:37
поделиться

Мои мысли (я не проверил все другие, таким образом, я не знаю, ново ли это)

Контакт с роением:

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

    • Да, некоторые люди будут жаловаться, но мы ищем общий падеж здесь, не идеал.
    • необходимо также рандомизировать название объектов флэш-памяти, таким образом, они не находятся ни в каком предсказуемом шаблоне имен.
  2. Используя Akamai или другой CDN, разверните этот объект флэш-памяти заранее на внешнем мире. Akamai производит то, что, кажется, случайные URL, таким образом, он мешает предсказывать.

  3. , Когда время для новой продажи, просто необходимо изменить URL локально для обращения к соответствующему объекту в Akamai, и люди пойдут, выбирают объект флэш-памяти от них обнаружить, является ли соглашением BoC или нет.

End-of-the-day - у Вас теперь есть Akamai, обрабатывающий Ваши рои полуночного трафика

Контакт с автопокупкой

  1. , Каждая флэш-память возражает, что Вы создаете, может иметь партии и много содержания, скрытого внутри - изображения, ссылки, произвольные идентификаторы, включая 'мешок дерьма' в тысяче мест. необходимо смочь запутать флэш-память также.
  2. , Когда объект флэш-памяти "пойдет живой", люди начнут нападать на него. Но существует столько ложных положительных сторон, что сканирование простой строки бесполезно - они должны будут моделировать выполнение флэш-памяти локально.
  3. , Но флэш-память не пишет текст. Это проводит линии и формы. Формы в различных цветах, все подключенные к таймерам, которые заставляют их появиться и исчезнуть в разное время.
    • , Если Вы видели The Colbert Report, Вы знаете, как введение имеет сотни слов, описывающих Colbert. Вообразите что-то как этот для Вашего введения, которое будет всегда включать Сумку O Дерьмо.
    • Теперь, предположите, что введение занимает произвольное количество времени - иногда несколько секунд, иногда целый минута или больше (сделайте его забавным)
    • Между тем, "Сумка O Дерьмо" постоянно обнаруживается, но снова, ясно как часть введения.
    • Наконец, фактическая сделка дня показана, с активным 'мерцают' эффект, который мешает любому единственному снимку холста показывать фактическое название продукта. Это плавает выше анимированного фона, который все еще говорит 'сумку O дерьмо' и постоянно находится в движении
    • снова, все это обрабатывается со строками и формами, не с текстовыми строками

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

Это не будет работать навсегда, но это работало бы некоторое время.

Другая идея состоит в том, чтобы просто ограничить людей в покупке BoCs, если они не купили что-то прежде с той учетной записью, и никогда не позволять им купить BoC снова.

0
ответ дан johnbr 5 May 2018 в 03:37
поделиться
  • 1
    +1 к не изменению сгенерированного кода. I' m в цикле вручную объединяющегося кода сгенерирован Рациональными мастерами веб-сервиса Архитектора. Не забава. – DMKing 3 April 2009 в 02:59
  1. Определяют ботов через IP или иск других механизмов.

  2. Всегда подача идентифицированные как боты нормальная первая полоса.

Настоящие люди ложно определили, поскольку боты не получат экстренное сообщение, но они не заметят так или иначе.

владельцы Bot не поймут, что Вы определили их, таким образом, они прекратят адаптировать свои сценарии.

0
ответ дан Ben Noland 5 May 2018 в 03:37
поделиться
  • 1
    Генерация большого количества повторного кода не является проблемой, даже если Вы следуете за принципом DRY. Помните, что только необходимо изменить одну вещь (вход к генератору кода) для обновления всего кода. Таким образом, генерация кода (если сделано правильно) следует за принципом DRY. – mbrodersen 16 August 2009 в 16:59
  1. Продают товар к несценариям людей.
  2. не изводят 'нормальных' пользователей ни с какими задачами завершиться, чтобы доказать, что они являются человеческими.

Так в основном Вы хотите узнать, является ли конкретный пользователь человеком, не заставляя их доказать его. Насколько я знаю, что это невозможно по Интернету, извините.

я предлагаю изменить механизм на аукцион.

-1
ответ дан 2 revs 5 May 2018 в 03:37
поделиться
  • 1
    Право, но выполнение его " под hood" будет намного лучше, чем выполнение его сверху капота, для продолжения аналогии. И намного более удобный в сопровождении. – Mark Rogers 15 April 2009 в 01:47

Используйте hashcash.

Hashcash является инструментом меры по счетчику отказа в обслуживании. Его основное текущее использование должно помочь hashcash пользователям постараться не терять электронную почту из-за на основе содержимого и помещать в черный список базирующиеся системы против спама.

0
ответ дан 2 revs, 2 users 86% 5 May 2018 в 03:37
поделиться

Моим решением является комбинация маркетинга технологические изменения и изменения.

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

существует несколько включенных целей рынка:

  • Заставляют клиентов посещать сайт один раз в день (импульсная покупка). possiblility наблюдения мешка загаженной продажи является причиной/вознаграждением.
  • Сетевой/вирусный/сплетничающий эффект, где клиент видит мешок загаженной продажи, идет, они будут IM/EMail/Telephone их друзья.
  • существует также, что я назвал бы общей "доброй волей". Woot является действительно прохладным местом, потому что он иногда вознаграждает своих клиентов удивительными продажами (мешок дерьма, которое включало ЖК-телевизор)... И его сделанный на ярмарке "сначала прибывает сначала подаваемый" способ.

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

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

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

техническое ядро игры - то, что в конце игры запрос выполнен к серверу, который делает "мгновенную лотерею", чтобы определить, выиграл ли пользователь мешок загаженной возможности продаж. Запрос к серверу должен будет включать что-то вычисленное самой игрой (примерно говорящий "наличные деньги хеша"... комплекс, потребление цикла ЦП, вычисление и надо надеяться тот, который трудно воспроизвести). Это должно предотвратить бота от повторного ввода лотереи просто запросить лотерею, server/service.

сама игра может изменяться со временем. Можно сделать игры специального мероприятия для Хэллоуина, рождества, valinties, Пасхи, и т.д. Существует много места для маркетинговых идей забавы, которые могут соответствовать "wootiness" woot.

, Если пользователь побеждает, они могут купить мешки N дерьма (в ограниченном окне времени)..., но они могут также отправить друзей N, время ограничило приглашение купить мешок дерьма (хороший в течение 24 часов). Это обеспечивает супер сильный сетевой эффект... клиенты определенно скажут их друзьям. Или Вы могли также сделать это, поскольку "покупают 1, дают 1"... позволяют клиентам купить до в общей сложности N, но вынудить каждого второго быть поставленным другу. Ключ здесь должен заставить сеть/сплетню произвести абсолютную часть... помогают клиенту сказать мир о замечательности woot.

рекламный материал вокруг мешка загаженного понятия продаж должен будет также быть обновлен. Графики того, как быстро мешок распроданного дерьма больше не релевантны. Что-то вдоль строк, как часто в течение месяца у людей была возможность купить. Сколько людей сказало их друзьям. marterials должен subtley подчеркивать мысль, что ежедневная газета woot посещение является хорошей идеей.

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

0
ответ дан user53794 5 May 2018 в 03:37
поделиться

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

0
ответ дан Tuareg 5 May 2018 в 03:37
поделиться

Это всегда жестко, я приветствую Ваше требование избегать использования КАПЧИ. Я предложил бы сначала блокировать их на основе их поведения, которое можно установить с помощью Запросов HTTP. Посмотрите на инструмент, известный как плохое поведение , в году, что я использовал его на нескольких сайтах, это должно все же заблокировать настоящего человека. Большинство ботов не делает очень хорошего задания притворства быть веб-браузером. Я также рекомендую использовать горшок с медом проекта API.

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

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

[ image of a pig ]

The image above is a: [ ] dog  [ ] house [ ] pig

, Который не был бы очень раздражающим людям.

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

-2
ответ дан Tim Post 5 May 2018 в 03:37
поделиться

Если Вы готовы сделать JavaScript обязательным, можно использовать план hashcash потребовать, например, ценности ~30 секунд клиентского вычисления для каждого запроса. (Конечно, который мог бы составить 5 минут на iPhone или 1 секунда на ботнете 30 компьютеров: значительный недостаток.)

можно также сделать очистку более трудной путем генерации страницы с (запутываемым) JavaScript или (затычкой) флэш-память.

можно также исследовать для ботов с невидимым (с помощью CSS и JavaScript) случайные загаженные ссылки.

можно обнаружить 'подобные боту' IP-адреса (уровнем и посещениями ссылок ловушки) и перенаправить их к специальному серверу (например, один с дополнительной проверкой CC такой, как 'проверено визой' - или просто один с капчой.)

, Но действительно, это - гонка вооружений.:) И один Вам, вероятно, придется в конечном счете возрасти даже вне капчей.

, Который приносит мне к: Почему бы не измениться от сначала прибывшего, модели первой подачи к лотерейной модели, где боты не имеют такого большого преимущества перед настоящими покупателями?

0
ответ дан Dan S. 5 May 2018 в 03:37
поделиться

Создайте лучшего бота

, рынок говорит Вам что-то. Они хотят получить ту сумку o дерьмо. Так, а не борьба сценарии (RIAA v совместный доступ к файлам кто-либо?) Создают лучшего бота.

Предложение все установленное приложение, которое так же хорошо или лучше, чем что-нибудь сценарий kidee, могло соединить. Пользователь устанавливает Ваш выпущенное под брендом приложение и каждый раз, когда мешок дерьма предлагается. Приложение автоматически попытается купить его. Если текущая местная телефонная компания в каждом из семи регионов США пропущена, приложение имеет "билет", чтобы дать ей лучший шанс для следующей продажи местной телефонной компании в каждом из семи регионов США. Таким образом, если пользователь прокручивает их собственный сценарий, они не получают "билет" в строке для следующей продажи местной телефонной компании в каждом из семи регионов США, в то время как пользователи официального приложения делают.

Между продажами местной телефонной компании в каждом из семи регионов США приложение может показать текущий объект для продажи. Черт, сделайте его так, чтобы пользователь мог сказать woot приложению искать "карты памяти"

, Кто создаст их собственный сценарий, когда официальная woot местная телефонная компания в каждом из семи регионов США + приложение сценария будет так же хороша или не лучше?

Кроме того, woot получает другой способ соединиться с клиентом.

Ваши клиенты говорят Вам, что они хотят.

0
ответ дан Pat 5 May 2018 в 03:37
поделиться
  • 1
    @Mario: к сожалению, очень мало. Даже некоторые разработчики по умолчанию беспокоят меня так, я предпочитаю входить и писать его вручную. – Randolpho 17 April 2010 в 11:20

моя первая мысль была то, что Вы говорите, что боты очищают Вашу веб-страницу, которая предположила бы, что они только берут содержимое HTML. Так наличие Вашего экрана порядка проверяет (от http-журналов), что связанная с предложением диаграмма была загружена из бота

0
ответ дан bot 5 May 2018 в 03:37
поделиться

Проблема с КАПЧОЙ состоит в том, что, когда Вы видите загаженную продажу на Woot, необходимо действовать ОЧЕНЬ быстро как потребитель, если Вы надеетесь получить свой мешок дерьма. Так, если Вы собираетесь использовать форму КАПЧИ, это должно быть очень быстро для клиента.

, Что, если у Вас было большое изображение, скажите 600 x 600, который был просто белым фоном и точками различных цветов или шаблонов, случайным образом помещенных в изображение. Изображение имело бы карту изображения на нем. Этой карте отобразили бы ссылку на маленькие блоки изображения. Скажите, блоки 10 x 10. Пользователь должен был бы просто нажать на определенный тип точки. Это было бы быстро для конца пользователь, и это будет несколько трудный для разработчика бота кодировать. Но это одно не может быть настолько трудно для хорошего создателя бота закончить. Я добавил бы зашифрованные URL.

я разрабатывал систему некоторое время назад, которое зашифрует URL. Если каждый URL на этих страницах зашифровывается со случайным IV, То они все, кажется, уникальны для бота. Я разрабатывал это, чтобы перепутать ботов зондирования. Я еще не завершил технику, но мне действительно кодировали небольшой сайт, это функционировало в этом поместье.

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

0
ответ дан Konrad 5 May 2018 в 03:37
поделиться

Я не веб-разработчик, поэтому возьмите это с щепоткой соли, но вот мое предложение -

, у Каждого пользователя есть cookie (содержащий случайную строку данных), который определяет, видят ли они текущую загаженную продажу.

(Если у Вас нет cookie, Вы не видите их. Таким образом, пользователи, которые не включают куки, никогда не видят загаженные продажи; и новый пользователь никогда не будет видеть их в первый раз, когда они просматривают страницу, но будет после этого).

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

Для хранения вещей простыми на стороне сервера, Вы могли сказать в любой момент времени, существует только когда-либо один cookie, который позволит Вам видеть загаженные продажи; и существует несколько других cookie, которые маркированы "generated in the last 2 seconds", который будет всегда сохраняться неизменным. Таким образом, если Вы обновляете страницу быстрее, чем которая, Вы не можете получить новый.

(... ах, ну, в общем, я предполагаю, это не мешает боту восстановить более старый cookie и пасовать назад его Вам. Однако, возможно, существует решение здесь где-нибудь.)

0
ответ дан Laurie Cheers 5 May 2018 в 03:37
поделиться
  • 1
    Обратите внимание на то, что этот ответ имеет те же проблемы подхода Daniel Roseman (это может имитироваться), но это - конечно, больше завершенное, когда хост достигнут через Прокси HTTP или подсистему балансировки нагрузки, так как это берет в учетной записи HTTP_X_FORWARDED_HOST HTTP-заголовок. – furins 8 January 2014 в 19:02

Разработайте размещенный на первой полосе компонент и корзину, которые не работают исходно в brower. При использовании чего-то как Flex/Flash или Silverlight намного более трудно очистить, и Вы имеете полный контроль над коммуникацией сервера и таким образом можете экранировать содержание полностью от сценаристов.

0
ответ дан cdonner 5 May 2018 в 03:37
поделиться
  • 1
    Для разъяснения для кого-то, у кого есть те же проблемы, как, я имел: проверьте, что Ваш SITE_ID установка равна id атрибут текущего сайта в приложении Сайтов (можно найти id в панели администрации Сайтов). Когда Вы звоните get_current, Django берет Ваш SITE_ID и возвращается эти Site объект с тем идентификатором от базы данных. – Dennis Golomazov 1 July 2013 в 09:12

Шаги:

(объединяющиеся идеи из другого плаката и gif спаммеров)

  • Дисплей вся страница предложения как изображение , копия рекламы и так далее.

  • Шифруют цену в URL.

Нападения:

  1. Боты, собирающиеся в URL просмотреть цену на странице

    • контроля, превращают цену контроля в изображение , или

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

  2. уничтожение пропускной способности

    • Подача специальные предложения с помощью изображений, нормальные предложения с помощью HTML .
  3. опрометчивый бот, заказывая

    • некоторые специальные предложения "изображения" на самом деле по нормальным ценам.
  4. RSS, Очищающий

    • , каналы RSS должны быть оплачены [1 139] hashcash или капчами.

    • Это должно быть на на запрос основание.

    • Это может быть , предварительно оплатил , например, пользователь может ввести 20 капчей для 200 взлетов взгляда RSS

    • , После того как угроза DDOS была смягчена, Вы можете уведомление по электронной почте реализации из предложений

0
ответ дан 2 revs 5 May 2018 в 03:37
поделиться

Как насчет предложения способа определить ботов, вероятно, базирующийся IP, но не заблокировать их от доступа к сайту, просто не позволяет им на самом деле покупать что-либо. Таким образом, если они покупают, они на самом деле не получают его, так как боты против условий использования.

0
ответ дан David Durham 5 May 2018 в 03:37
поделиться

Если Вы не можете победить их... Измените правила!

, Почему бы не обеспечить лучшую систему, чем сценаристы сделали для себя?
Изменяют Ваш сайт для ярмарки для людей, не использующих сценарии бота. Люди регистрируют (КАПЧА или подтверждение адреса электронной почты) и эффективно принимают участие в лотерейных соревнованиях для завоевания!

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

0
ответ дан Andrew Harry 5 May 2018 в 03:37
поделиться

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

0
ответ дан Jason Christa 5 May 2018 в 03:37
поделиться

За счет Удобства использования теми, которые имеют программы для чтения с экрана, Вы могли просто на 90% использования страниц немаркированные, undenotable кнопки изображения. Поворачивайте изображения регулярно и используйте случайный генератор и случайную сортировку для разметки двух кнопок, которые говорят, что "Я хочу это" и "Я - бот". Разместите их сторона видом в другом порядке. На каждом этапе пользователь может сделать успехи torwards их цель, но бот, более вероятно, сделает ошибку (50% * количество шагов). Это похоже на получение на каждом этапе на более легком для пользователя и медленнее для ботов, кто должен предложить их ведущему устройству на Каждом шаге. Поместите цену, подтвердить кнопку, описание изделия в изображениях. Это сосет, но вероятно более успешный.

0
ответ дан Philluminati 5 May 2018 в 03:37
поделиться
  • 1
    В моих целях это не имеет никакой дыры в системе безопасности. – Paul Draper 15 March 2013 в 18:58

Я думаю, что Ваш лучший выбор состоит в том, чтобы следить за прибытием IP в, но смягчать проблемы Вы упоминаете несколькими способами. Во-первых, используйте вероятностный хеш (например, Фильтр Цветка ) для маркировки IP, которые были замечены прежде. Этот класс алгоритма очень быстр, и масштабируется хорошо к абсолютно значительным размерам набора. Во-вторых, используйте дипломированный ответ, посредством чего задержка сервера добавляется к каждому запросу, утвержденному тем, насколько Вы видели IP 'недавно'.

0
ответ дан Johnny Graettinger 5 May 2018 в 03:37
поделиться
  • 1
    Будьте осторожны с использованием метаданных запроса. It' s прибывающий из браузера и может имитироваться. В целом, you' ll, вероятно, хотят пойти с what' s предложенный ниже @CarlMeyer. – Josh 3 July 2012 в 15:30

Это только должно быть проблемой, если пользователи бота платят недопустимыми кредитными картами или чем-то. Таким образом как насчет нетехнического решения?

Обработка пользователи бота как обычные пользователи пока их платежи действительны и удостоверяются, что у Вас есть достаточно в запасе для удовлетворения совокупного спроса.

Результат: больше продаж. Вы находитесь в бизнесе, чтобы делать деньги, исправиться?

0
ответ дан Seun Osewa 5 May 2018 в 03:37
поделиться

Возможно, Вам нужно решение, которое делает полностью невозможным для бота различать bag-o-crap продажи и все другое содержание.

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

0
ответ дан SingleNegationElimination 5 May 2018 в 03:37
поделиться

Я рекомендовал бы основанное на брандмауэре решение. Netfilter/iptables, как большинство брандмауэров, позволяет Вам устанавливать предел к максимальному количеству новых запросов страницы в единицу времени.

, Например, для ограничения количества просмотров страницы, распределенных к чему-то человеческому - говорят, 6 запросов каждое 30-секундное - Вы могли выпустить следующие правила:

iptables -N BADGUY
iptables -t filter -I BADGUY -m recent --set --name badguys

iptables -A INPUT -p tcp --dport http -m state --state NEW -m recent --name http --set
iptables -A INPUT -p tcp --dport http -m state --state NEW -m recent --name http --rcheck --seconds 30 --hitcount 6 -j BADGUY
iptables -A INPUT -p tcp --dport http -m state --state NEW -m recent --name http --rcheck --seconds  3 --hitcount 2 -j DROP

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

Hope это помогает!

0
ответ дан v4lkyrius 5 May 2018 в 03:37
поделиться

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

, Если Вы только принимаете платежи с помощью кредитной карты (мог бы иметь место, не мог бы быть, но она показывает мой ход мыслей), только позволяют пользователю покупать BOC один раз в 10 продаж с той же расчетной и/или кредитной картой. Для деточки сценария легко получить рой дюйм/с, менее легкого для них собрать целую "кучу" кредитных карт. И поскольку Вы сказали, что дюйм/с действительно трудно запретить, в то время как временные запреты на кредитные карты должны быть обходом в парке.

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

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

Это только действительно полезно, если бы действительно маловероятно, что пользователю - человеку удалось бы получить BOC дважды меньше чем в 10 продажах. Настройте число как соответствующее.

0
ответ дан Dave 5 May 2018 в 03:37
поделиться

Остановка всех ботов была бы довольно трудной, особенно не используя КАПЧУ. Я думаю, что необходимо приблизиться к этому с точки зрения реализации большого разнообразия мер для создания жизни тяжелее для сценаристов.

я полагаю, что это - одна мера, которая избавилась бы от некоторых из них:

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

самый большой недостаток с этим подходом состоит в том, что необходимо было бы предпринять шаги, чтобы гарантировать, что файл CSS не кэшируется клиентский, потому что он должен был бы, конечно, содержать рандомизированные идентификаторы & имена классов. Один способ преодолеть это не состоит в том, чтобы использовать внешние файлы CSS и вместо этого помещать CSS с рандомизированными селекторами в <head></head> раздел страницы. Это позволило бы рандомизированному CSS быть клиентский кэшируемый наряду с остальной частью страницы.

0
ответ дан Seibar 5 May 2018 в 03:37
поделиться

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

, Что, если Вы сделали что-то как выпуск Ваших мешков w00t в течение часа или два, и по диапазону IP-адресов, вместо того, чтобы выпустить их всех одновременно и к какому-либо IP-адресу.

Скажем, у Вас есть 255 мешков w00t. 1.0.0.0 может купить на первой минуте, 2.0.0.0 может купить на второй минуте (потенциально 2 мешка доступных w00t), и т.д., и т.д.

Затем после 255 минут, Вы сделали мешки w00t доступными всем, хотя очень вероятно, что не все 255 мешков w00t оставляют.

Это ограничивает истинное нападение пользователями, которые имеют> 255 компьютеров, хотя пользователь бота смог "владеть" мешком w00t, присвоенного их диапазону IP.

нет никакого требования, чтобы Вы подошли сумки к IP справедливо (и определенно необходимо использовать некоторый тип MD5 / случайная вещь семени)..., если Вы распределяете 10 мешков w00t инкрементно, просто необходимо удостовериться, что это распределяется ~evenly ~ через население.

, Если IP плох затем, можно использовать cookie и исключить вариант использования, где non-cookied пользователю предлагают мешок w00t.

, Если Вы замечаете, что конкретный IP, cookie или диапазон адресов имеют экстремальный объем трафика, делают мешок w00t доступным им пропорционально позже / в последний раз, так, чтобы случайный / устойчивый / замедлились, посетителям дают возможности прежде тяжелый / быстрый / вероятные пользователи бота.

- Robert

0
ответ дан Robert 5 May 2018 в 03:37
поделиться
Другие вопросы по тегам:

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