it-swarm.com.de

Verhindern, dass Scripters Ihre Website zuschlagen

Ich habe eine Antwort akzeptiert, aber leider glaube ich, dass wir bei unserem ursprünglichen Worst-Case-Szenario stecken bleiben: CAPTCHA jeder bei Kaufversuchen des Mistes . Kurze Erklärung: Caching/Webfarmen machen das Nachverfolgen von Treffern unmöglich, und eine Problemumgehung (Senden eines nicht zwischengespeicherten Web-Beacons, Schreiben an einen einheitlichen Tisch usw.) verlangsamt die Website schlechter als die Bots. Es gibt wahrscheinlich einige teure Hardware von Cisco oder Ähnlichem, die auf hohem Niveau helfen können, aber es ist schwierig, die Kosten zu rechtfertigen, wenn CAPTCHA für alle eine Alternative ist. Ich werde später eine ausführlichere Erklärung versuchen und dies auch für zukünftige Suchende aufräumen (auch wenn andere es gerne versuchen, da es sich um ein Community-Wiki handelt).

Lage

Hier geht es um den Müllsackverkauf auf woot.com. Ich bin der Präsident von Woot Workshop, der Tochtergesellschaft von Woot, die das Design übernimmt, die Produktbeschreibungen, Podcasts, Blogposts erstellt und die Foren moderiert. Ich arbeite mit CSS/HTML und bin mit anderen Technologien kaum vertraut. Ich arbeite eng mit den Entwicklern zusammen und habe alle Antworten hier durchgesprochen (und viele andere Ideen, die wir hatten).

Benutzerfreundlichkeit ist ein wichtiger Teil meiner Arbeit, und die Website spannend und unterhaltsam zu machen, macht den größten Teil des Restes aus. Hieraus leiten sich die drei folgenden Ziele ab. CAPTCHA beeinträchtigt die Benutzerfreundlichkeit, und Bots stehlen den Spaß und die Aufregung aus unseren Mistverkäufen.

Beim Random Crap-Verkauf schlagen Bots unsere Titelseite zehnmal hintereinander ab (und/oder scannen unseren RSS-Code). In dem Moment, in dem sie das sehen, wird eine zweite Phase des Programms ausgelöst, in der sie sich anmelden, auf "Ich möchte Eins" klicken, das Formular ausfüllen und den Mist kaufen.

Auswertung

lc : Auf Stackoverflow-Sites und anderen Sites, die diese Methode verwenden, handelt es sich fast immer um authentifizierte (angemeldete) Benutzer, da dies für die auszuführende Aufgabe erforderlich ist.

Auf Woot können anonyme (nicht angemeldete) Benutzer unsere Homepage anzeigen. Mit anderen Worten, die Slamming-Bots können nicht authentifiziert werden (und sind im Wesentlichen nur über die IP-Adresse nachverfolgbar).

Wir sind also wieder auf der Suche nach IPs, die a) in Zeiten von Cloud-Netzwerken und Spambot-Zombies ziemlich nutzlos sind und b) angesichts der Anzahl der Unternehmen, die von einer IP-Adresse stammen, zu viele Unschuldige fangen (ganz zu schweigen von den Problemen mit nicht statische IP-ISPs und potenzielle Leistungseinbußen bei dem Versuch, dies zu verfolgen).

Oh, und es wäre das schlimmste Szenario, wenn die Leute uns anrufen würden. Können wir sie Sie anrufen lassen?

BradC : Die Methoden von Ned Batchelder sehen ziemlich cool aus, aber sie sind ziemlich stark darauf ausgelegt, Bots zu besiegen, die für ein Netzwerk von Sites erstellt wurden. Unser Problem ist, dass Bots speziell dafür gebaut wurden, unsere Site zu besiegen. Einige dieser Methoden könnten wahrscheinlich nur für kurze Zeit funktionieren, bis die Skript-Entwickler ihre Bots so weiterentwickelt haben, dass sie den Honeypot ignorieren, anstelle von Formular-IDs nach Bezeichnungen in der Nähe suchen und ein JavaScript-fähiges Browser-Steuerelement verwenden.

lc wieder : "Es sei denn natürlich, der Hype ist Teil Ihres Marketingplans." Ja, das ist es definitiv. Die Überraschung, wann der Gegenstand erscheint, und die Aufregung, wenn Sie es schaffen, einen zu bekommen, sind wahrscheinlich genauso wichtig oder wichtiger als der Mist, den Sie tatsächlich bekommen. Alles, was das Wer zuerst kommt/mahlt, wirkt sich nachteilig auf den Nervenkitzel aus, den Mist zu "gewinnen".

novatrust : Und ich begrüße zum einen unsere neuen Bot-Overlords. Wir bieten tatsächlich RSS-Feeds an, damit Apps von Drittanbietern unsere Website nach Produktinformationen durchsuchen können, jedoch nicht vor dem HTML-Code der Hauptseite. Wenn ich es richtig interpretiere, hilft Ihre Lösung Ziel 2 (Leistungsprobleme), indem Sie Ziel 1 vollständig opfern und einfach die Tatsache aufgeben, dass Bots den größten Teil des Mülls kaufen werden. Ich habe Ihre Antwort positiv bewertet, weil sich Ihr letzter Absatz-Pessimismus für mich zutreffend anfühlt. Hier scheint es keine Silberkugel zu geben.

Der Rest der Antworten basiert im Allgemeinen auf IP-Tracking, was wiederum sowohl nutzlos zu sein scheint (mit Botnetzen/Zombies/Cloud-Netzwerken) als auch schädlich (viele Unschuldige, die von denselben IP-Zielen stammen, zu fangen).

Irgendwelche anderen Ansätze/Ideen? Meine Entwickler sagen immer wieder "Lass uns einfach CAPTCHA machen", aber ich hoffe, es gibt weniger aufdringliche Methoden für alle tatsächlichen Menschen, die etwas von unserem Mist wollen.

Ursprüngliche Frage

Angenommen, Sie verkaufen etwas Billiges, das einen sehr hohen wahrgenommenen Wert hat, und Sie haben eine sehr begrenzte Menge. Niemand weiß genau, wann Sie diesen Artikel verkaufen werden. Und über eine Million Menschen kommen regelmäßig vorbei, um zu sehen, was Sie verkaufen.

Am Ende versuchen Scripter und Bots programmatisch herauszufinden, [a] wann Sie den Artikel verkaufen, und [b] stellen Sie sicher, dass sie zu den Ersten gehören, die ihn kaufen. Dies ist aus zwei Gründen zum Kotzen:

  1. Deine Seite wird von Nicht-Menschen zugeschlagen, was alles für alle verlangsamt.
  2. Die Drehbuchautoren "gewinnen" das Produkt und die Stammgäste fühlen sich betrogen.

Eine naheliegende Lösung besteht darin, einige Rahmen zu erstellen, durch die Ihre Benutzer springen können, bevor sie ihre Bestellung aufgeben. Dabei gibt es jedoch mindestens drei Probleme:

  • Die Benutzererfahrung ist für Menschen zum Kotzen, da sie CAPTCHA entziffern, die Katze auswählen oder ein mathematisches Problem lösen müssen.
  • Wenn der wahrgenommene Nutzen hoch genug und die Menge groß genug ist, findet sich eine Gruppe in jedem Tweak zurecht, was zu einem Wettrüsten führt. (Dies gilt umso mehr, je einfacher Tweak ist. Versteckte "Kommentare", Neuanordnung der Formularelemente, falsche Beschriftung und versteckter "Gotcha" -Text funktionieren nur einmal und müssen geändert werden, um die Ausrichtung auf dieses bestimmte Formular zu verhindern .)
  • Selbst wenn die Skripter Ihr Tweak nicht "lösen" können, hindert es sie nicht daran, Ihre Titelseite zu zuschlagen und dann einen Alarm auszulösen, damit der Scripter den Befehl manuell ausfüllt. Wenn sie den Vorteil haben, [a] zu lösen, werden sie wahrscheinlich immer noch [b] gewinnen, da sie die ersten Menschen sind, die die Bestellseite erreichen. Außerdem tritt immer noch 1. auf, was zu Serverfehlern und einer verringerten Leistung für alle führt.

Eine andere Lösung besteht darin, auf zu oft auftretende IPs zu achten, sie von der Firewall zu blockieren oder sie auf andere Weise am Bestellen zu hindern. Dies könnte [b] lösen und verhindern, aber die Leistungseinbußen beim Scannen nach IPs sind gewaltig und würden wahrscheinlich mehr Probleme wie 1. verursachen, als die Skript-Entwickler selbst verursacht haben. Darüber hinaus macht die Möglichkeit von Cloud-Netzwerken und Spambot-Zombies die IP-Überprüfung ziemlich nutzlos.

Eine dritte Idee, die das Laden des Bestellformulars für einige Zeit (etwa eine halbe Sekunde) erzwingt, würde möglicherweise den Fortschritt der schnellen Bestellungen verlangsamen, aber auch hier wären die Skripter immer noch die Ersten, bei jeder Geschwindigkeit, die sich nicht nachteilig auf sie auswirkt tatsächliche Benutzer.

Tore

  1. Verkaufe den Gegenstand an Menschen, die kein Skript verwenden.
  2. Lasse die Site mit einer Geschwindigkeit laufen, die nicht von Bots gebremst wird.
  3. Belästigen Sie die "normalen" Benutzer nicht mit Aufgaben, die sie erledigen müssen, um zu beweisen, dass sie Menschen sind.
486
Dave Rutledge

Sie sollten Aufzeichnungen über die Benutzer haben, die BOC am häufigsten gekauft haben, warum nicht einfach diese Konten oder ähnliches sperren. Sicher, legitime Benutzer werden in diesem Prozess gesperrt, aber Sie sind ein Unternehmen, das ein Produkt bereitstellt, und wenn Sie von einer Gruppe von Benutzern missbraucht werden, haben Sie das Recht, ihnen den Service zu verweigern. Sie haben viele Informationen über Ihre Benutzer, einschließlich Paypal und Bankkonten. Sie könnten diese Konten sperren und die Bot-Benutzer dazu zwingen, neue Konten zu erstellen. Natürlich könnte ich mir ein Skript ausdenken, um BOC jederzeit zu kaufen oder einfach aus dem Internet herunterzuladen, aber ich habe eine bessere Moral. Da ich BOC noch nie erfolgreich gekauft habe, kenne ich die Frustration von legitimen Benutzern, die ein BOC in der Hoffnung erhalten möchten, viel zu bekommen. Anstatt ein BOC von Zeit zu Zeit einzeln anzubieten, können Sie es auch jeden Tag zufälligen Benutzern geben. Wenn sie einen Artikel erhalten, erhalten sie eine kleine Notiz und einen zusätzlichen Artikel, der besagt, dass sie auch ein BOC erhalten haben. Die einzige Möglichkeit, ein BOC zu erhalten, besteht darin, etwas zu kaufen, das nur ein Mensch gewollt hätte. Es gibt nichts Besseres, als eine Kaffeemaschine oder etwas zu kaufen und zusätzlich zu Ihrem legitimen Kauf einen 42-Zoll-Fernseher oder etwas anderes zu erhalten. Ich denke, die Mehrheit der Script-Kiddies wäre nicht mehr an Ihrer Site interessiert, wenn sie ein BOC erhalten möchten Sie müssten sich auch auf einen Kauf von mehr als 10 Dollar festlegen.

0
hsquee

Verzeihen Sie mir, wenn diese Antwort bereits übermittelt wurde. Es gibt viele Antworten, um zu versuchen, sie alle zu lesen und zu verstehen.

Warum konnten Sie nicht ab und zu einfach Ihre Einkaufs-API ändern? Wäre das nicht völlig transparent für die menschlichen Benutzer und würde die meisten Bot-Käufer so gut wie umbringen?

Eine Implementierung wäre, die Namen der Felder zu ändern, die der Benutzer ausfüllen und auf der Seite absenden muss, nachdem er die Schaltfläche "Ich möchte eins" gedrückt hat. Wie oft im Jahr verkaufen Sie tatsächlich BOC? Nicht so oft. Dies wäre also keine große Programmierlast, wenn jedes Mal, wenn ein BOC in den Handel kommt, eine andere Einkaufs-API programmiert, getestet und einsatzbereit wäre.

Stellen Sie einfach sicher, dass die Bots, die die alte und falsche API verwenden, Ihren Server nicht herunterfahren. Hosten Sie die BOC-Kauf-API möglicherweise auch jedes Mal auf einem anderen Server. Auf diese Weise können die Bots einen Server zum Absturz bringen, der von uns menschlichen BOC-Käufern nicht genutzt wird.

0
Kurt W. Leucht

zu diesem Zweck verwende ich Cloudflare, da es meine Site nicht beeinträchtigt, sondern jeden böswilligen Benutzer mit CAPTCHA automatisch blockiert und Ihnen mehr Funktionen bietet.

0

Wenn ich richtig verstehe, liegt Ihr größtes Problem beim Bildschirmabschaben und nicht beim automatischen Kauf.

In diesem Fall besteht Ihr effektivster Schritt darin, das Scraping des Bildschirms zu verhindern, indem Sie die Seite zufällig so codieren, dass sie gleich aussieht, aber auf Codeebene immer anders ist. (Verwenden Sie Hex-Codes, Java Kodierung, Bilder, Ändern der umgebenden Codestruktur ...)

Das würde sie zwingen, ihren Scraping-Code ständig neu zu schreiben, und es für sie umso teurer machen, Ihren "Mist" automatisch zu kaufen. Wenn sie es schaffen. Sie werden wahrscheinlich noch eine Weile auf Ihre Website zugreifen, bis sie feststellen, dass sie nichts mehr davon haben und sie nicht mehr löschen können.

Der Nachteil bei der Verwirrung von Bots ist, dass sie auch die Suchmaschinen-Crawler verwirren.

0
Sylverdrag

Sie werden heute genug Licht machen, um das CAPTCHA-Programm von Cisco zu bezahlen !! Wir sind alle daran gewöhnt, Konzertkarten und andere Dinge zu kaufen. Es scheint nur fair zu sein. Die Art und Weise, wie es heute gemacht wird, stört einige und wirft Fragen zu einer Lotterie oder einem Gewinnspiel auf. Ich bin mir sicher, dass Sie das überprüft haben, bevor Sie es versucht haben, aber es ist keine wirklich unterhaltsame Art, BOCs zu kaufen ... Es nimmt die ganze Aufregung raus!

Das erste BOC oder ein großartiges Produkt zu bekommen, selbst wenn man vor Ort ist, zieht die Leute nach Woot. Wenn es keinen Grund gibt, herumzuhängen und Tonnen von Dingen zu kaufen, die Sie nicht benötigen, während Sie auf das zufällige Auftauchen des BOC warten, sinken die Verkäufe. Das CAPTCHA könnte der einzige Weg sein, diese Leute zu besiegen und dennoch die Aufregung von Woot zu bewahren.

Ich war einer der Ersten, die letztes Mal ein BOC bestellt haben, und meine erste Bestellung wurde mit der Million Versand abgeladen und die zweite ging durch, wurde aber später von meinem Konto abgebucht. Ich war verärgert Ich habe Woot verlassen und keine Gegenstände gekauft, wie ich es in der Vergangenheit an anderen Tagen getan habe. Ich war bereit, es heute noch einmal so zu versuchen. Ich bezweifle, dass ich in Zukunft ohne CAPTCHA auskommen werde.

Es gibt viele Websites, die versuchen, wie Woot zu sein. Natürlich sind sie nicht auf Ihrem Niveau. Ich lese gerade eine Produktbeschreibung, nicht weil ich das Produkt haben möchte, sondern ich checke sogar zum Lachen ein. Ich würde es hassen, wenn jemand mit einem faireren Programm hereinkäme und Ihnen den größten Teil Ihres Geschäfts wegnimmt.

Nur meine Meinung. Ich weiß fast nichts über Bots und Computer, seit ich Krankenschwester bin. Aber ich stimme dafür, dass ich auf ein höheres Level aufsteigen muss es sollte sein :) Lori

0
Lori

Wie bei CAPTCHAing für alle, warum nicht die Google-Lösung verwenden, bei der nur CAPTCHAs von IP-Adressen benötigt werden, die Sie für Bots halten, oder auch nur von Nutzern, die die Website manipulieren? Ich bin mir sicher, dass es nicht so schlimm ist, jemanden beim Kauf nach einem CAPTCHA zu fragen, wenn er die Seite ohnehin gehämmert hat. Das oder möglicherweise ein periodisches CAPTCHA beim Hämmern erforderlich, etwa alle hundert (möglicherweise kleinere?) Oder so, um die Arbeit der Alarm-Bots zu stoppen. Sie benötigen eine Art CAPTCHA, um Botting zu verhindern, aber Sie müssen auch die Tatsache berücksichtigen, dass Ihre echten Benutzer sich wie Bots verhalten.

0
Aaron M

Warum ändern Sie nicht einfach bei jedem Angebot den Namen und das Bild des BOC? Es würde Teil des Spaßes am Wooting werden, die neueste Iteration des BOC zu sehen.

0
John

Als langjähriger (4-jähriger) Benutzer von Woot.com und Käufer von ein paar Drecksäcken, scheint es, dass die Lösung Teil des gesamten Woot-Themas sein sollte.

Verwenden Sie Captcha, aber humorvoll. Machen Sie, ähnlich wie bei der 1.000.000-Dollar-Aktion, ein Spiel daraus, sich als Person zu identifizieren. Dies hat in der Vergangenheit den "Ausverkauf" des BOC für eine angemessene Zeitspanne verzögert, während Leute, wie ich, sich bemühen, das ziemlich einfache, aber humorvolle Rätsel zur Eingabe eines Gutscheincodes zu lösen.

Auch wenn sich die Leute endlos über die Serverfehler beschweren, kommen sie immer wieder. Ein Teil des Nervenkitzels eines BOC ist meiner Meinung nach die Tatsache, dass es eine Unmenge anderer Leute gibt, die versuchen, einen zu bekommen. Wenn die Server einen Fehler oder eine unkonventionelle Seite ausgeben, ist dies ein Zeichen dafür, dass ich in einer Gruppe von viel zu vielen Leuten bin, die versuchen, eines von 1500 Produkten zu bekommen.

Wenn Sie so viel Kreativität in den Aufbau des Puzzles stecken und es originell genug ist, verzögert es die Bots lange genug, um allen anderen eine Chance zu geben. Indem Sie ein zufälliges Wort einfügen, das als Code erfasst wird, eine Zwischenseite zwischen "Ich möchte eine" und die Kaufseite einfügen, die eine einzigartige menschliche Interaktion erfordert, haben Sie die Bots dort angehalten, bis sie herausgefunden haben, was geschehen muss.

• Sie haben kein langweiliges Captcha implementiert und es ist manchmal schmerzhaft schwierig, es zu lesen. • Sie haben den Vorgang unterhaltsamer gestaltet. • Sie haben die Belastung des eigentlichen Servers für sichere Einkäufe verringert etwas tun, um ein BOC zu erhalten • Sie stoppen die Bots auf der Zwischen-Seite und verzögern ihre Einkäufe, bis die meisten Leute zumindest die Gelegenheit hatten, das lustige, aber nicht besonders schwierige Rätsel zu lösen.
• Da es bei einem BOC um Zufälligkeit geht, passt ein zufälliges und sich änderndes Rätsel/eine sich ändernde Aufgabe einfach in die gesamte Tonhöhe eines BOC.

Während Sie experimentieren, kann die Technologie hinter der Zwischenseite erweitert werden, wobei zufällige Informationen zur Verwendung auf der Kaufseite erfasst werden können. Schon seit

Ich habe seit dem 31.05.2005 7 BOCs ohne die Hilfe von Bots oder anderen Skripten als Wootalyzer gekauft, was ich für eine akzeptable Hilfe halte. Das beste, das ich nicht bekommen habe, war das Please Please Me BOC. Die B & D-Batterien haben auch Spaß gemacht, aber ich schätze, sie haben die Bots nicht überfordert, sondern nur die normalen Benutzer frustriert.

Manchmal ist nicht mehr Technologie die beste Lösung für ein Technologieproblem.

0
Scott Shultis

Was wäre, wenn Sie die Namen und IDs der Formulare zufällig oder verschlüsselt, die Reihenfolge der Formularfelder zufällig gewählt und die Formularbezeichnungen zu einem zufälligen Captcha-Bild gemacht hätten, das einen Skriptangriff erheblich erschweren würde :-D

0
Zach Smith

Machen Sie die ganze verdammte Seite zu einem CAPTCHA!
Sorta wie die Sesamstraße ... acht dieser Dinge gehören nicht hierher ...

Legen Sie 9 Elemente, 9 HTML-Formulare, 9 ICH WILL EINE Schaltfläche auf dem Bildschirm.
(9 ist nur die Nummer für den Tag ... wählen Sie eine beliebige Nummer aus, damit das Layout immer noch gut aussieht. 12 vielleicht. Passen Sie sie vielleicht an die Auflösung des Lade-Browsers an ...)

Und rühre sie für jede Person.
Vergewissern Sie sich, dass das BOC "gesehen" werden muss, um zu wissen, um welches es sich handelt.
Stellen Sie sicher, dass Sie nur verrückte Zahlen verwenden, um auf alles hinter den Kulissen in der Quelle der Seite zu verweisen. Gut, so dass der BOT seine BOC-Zeit sieht ... aber es wird ein Rätsel sein, das richtige HTML-Formular auszuwählen, um es zur Verarbeitung zurückzusenden.

0
Pother

Wenn Sie Ihren RSS-Feed mit pubsubhubbub veröffentlicht haben, müssten die Nutzer Ihre Webseite nicht immer wieder aufrufen, um das nächste Element im Woot-off zu sehen. Sie würden nur darauf warten, dass es bei Google angezeigt wird Leser.

0
Paul Tomblin

Eine mögliche Lösung für Ihr spezielles Problem (und nicht das allgemeine) besteht darin, dass Benutzer angemeldet sein müssen, wenn sie den "Mist" sehen möchten. Zeigen Sie die Mistpreise nur Benutzern an, die gerade angemeldet sind. Alle anderen Elemente können für nicht angemeldete Benutzer weiterhin angezeigt werden. Dann haben Ihre treuen Nutzer höchste Priorität für den Mist.

Sie müssten Ihre Benutzer natürlich darüber informieren, möglicherweise mit einer Benachrichtigung, dass dies geschieht, um die Wahrscheinlichkeit zu erhöhen, dass echte Benutzer den Mist finden.

Wenn Ihr spezielles Problem darin besteht, Bots für einen bestimmten Objekttyp zu ernten, wählen Sie die am wenigsten einschränkende Alternative und verteidigen Sie sich nur gegen diesen bestimmten Angriff. Diese Option würde dann Captchyas und die von Ihnen befürchtete Benutzerfreundlichkeit verhindern.

Wenn sich die Bots anmelden und Spam versenden, können Sie die Abmeldung erzwingen und das Konto sperren.

Wenn sie nur da sind, um den Müll zu holen, werden sie ziemlich schnell gehen und Ihre Seite wird die massiven Treffer nicht akzeptieren. Vergessen Sie die hochtechnischen Lösungen.

0
Josh Smeaton

2 Dinge:

server-Layer-Lösung: mod_evasive (wenn Sie Apache verwenden)

http://www.zdziarski.com/projects/mod_evasive/

front-Layer-Lösung: Reverse-Captcha oder anderes nicht aufdringliches Captcha

http://www.ccs.uottawa.ca/webmaster/reverse-captcha.html

0
jacktrade

Erstellen Sie eine einfache IP-Firewall-Regel, die die IP-Adresse auf eine schwarze Liste setzt, wenn Sie mehr als eine max. Anzahl der Anfragen, die pro Sekunde eingehen.

0
Kiffin

Vorsichtsmaßnahmen:

Ich kann keine Skripte schreiben. Ich habe nicht viele der anderen Kommentare hier gelesen.

Ich bin heute Morgen über diese Beschreibung von Woot gestolpert. Ich dachte, ein paar Kommentare eines moderaten Benutzers der Woot-Sites (und zweimaligen manuellen Käufers von BOCs) könnten hilfreich sein.

Woot ist in einer einzigartigen Position, in der es beides eine Handelswebsite und ein Ziel mit treuen Nutzern ist, und ich verstehe die wahrgenommene Zartheit dieses Gleichgewichts. Ich persönlich bin jedoch der Meinung, dass Ihre Besorgnis über die "negativen Auswirkungen" eines Crap-CAPCHA ("CRAPCHA") auf die Benutzer viel zu hoch ist. Als Benutzer würde ich gerne beweisen, dass ich ein Mensch bin. Und ich vertraue darauf, dass Woot den Prozess unterhaltsam und interessant gestaltet und in die Gesamterfahrung integriert.

Wird dies zum "Wettrüsten" führen? Ich weiß nicht, aber es kann nur helfen. Wenn beispielsweise wichtige Informationen zum Kauf im Produktbild enthalten sind oder in der Produktbeschreibung impliziert sind (jedes Mal auf andere Weise), kann ein Skript am besten eine Kaufseite öffnen, wenn das C-Word erkannt wird . Eigentlich denke ich, dass das in Ordnung ist: Sie müssen immer noch online sein und wer zuerst kommt, meldet sich immer noch an - Wootalyzer und ähnliche Tools erhöhen nur Bewusstsein anstatt den Kauf zu automatisieren, während ich schlafe oder arbeiten.

Viel Glück beim Herausfinden und weiter so.

JGM

0
JGM

Sie machen diesen Weg zu schwer. Ich werde mich wahrscheinlich selbst rausschmeißen, da ich heute mit einer Bot-Site ein BOC von der Site gewonnen habe, aber einfach den RANDOM CRAP-Text in Captchas auf der Site-Hauptseite einfügen. Die Bots suchen alle nach dem Text "RANDOM CRAP". Sie vermeiden es also grundsätzlich, sie überhaupt auszulösen. Jeder, der mit den Augen schaut, wird sehen, dass dort "Random Crap" steht.

0
Justin

Wie wäre es mit dem Verkauf von RSA-Schlüsseln an jeden Benutzer?.

Ich erwarte eine BoC für meine Antwort;)

0
Aelver

Warum nicht die Titelseite nur eine Grafik mit Bildzuordnung machen (alle ein Bild ohne Beschriftungen, Tags usw.)? Leicht für einen Menschen zu lesen und zu verstehen auf so ziemlich jedem Gerät, aber unmöglich für einen Bot zu befragen. Machen Sie im Wesentlichen die gesamte Titelseite zu einem Captcha.

0
Andrew

Es gibt wahrscheinlich keine magische Silberkugel, die sich um Bots kümmert, aber eine Kombination dieser Vorschläge kann helfen, sie abzuschrecken und auf eine handlichere Zahl zu reduzieren.
Bitte lassen Sie mich wissen, wenn Sie Erläuterungen zu folgenden Vorschlägen benötigen:

  • Alle Bilder, die den Artikel darstellen, sollten entweder immer den gleichen Bildnamen haben (z. B. "current_item.jpg") oder einen zufälligen Namen haben, der sich bei jeder Anforderung ändert. Der Server sollte wissen, was der aktuelle Artikel ist, und das entsprechende Bild liefern. Dieses Bild sollte auch einen zufälligen Abstand aufweisen, um Bots zu reduzieren, die die Bildgrößen vergleichen. (Ändern Sie möglicherweise ein Wasserzeichen, um anspruchsvollere Bots abzuhalten.).
  • Entfernen Sie den ALT-Text aus diesen Bildern. Bei diesem Text handelt es sich normalerweise um redundante Informationen, die an anderer Stelle auf den Seiten zu finden sind, oder um generischen Alternativtext (z. B. "Aktuelles Artikelbild wäre hier").
  • Die Beschreibung kann sich jedes Mal ändern, wenn ein Bag of Crap auftaucht. Es könnte (zufällig) zwischen verschiedenen Namen wechseln: "Random Crap", "BoC", "Crappy Crap", etc ...
  • Woot kann auch mehr Artikel zum "Random Crap" -Preis anbieten oder einen zufälligen Preis zwischen 0,95 und 1,05 US-Dollar festlegen (Preis aus Gründen der Fairness nur einmal für jedes Mal ändern, wenn der Crap erscheint, nicht für jeden Benutzer).
  • Der Preis, die Beschreibung und andere Bereiche, die eine BoC von anderen Woots unterscheiden, können Bilder anstelle von Text sein.
  • Diese Felder können auch Java (nicht javaScript) oder Flash sein. Obwohl sie von einem Plug-In eines Drittanbieters abhängig sind, würde es den Bots erschweren, Ihre Site auf nützliche Weise zu durchsuchen .
  • Die Verwendung einer Kombination aus Images, Java, Flash und möglicherweise anderen Technologien würde es den Bots ebenfalls erschweren. Dies wäre etwas schwieriger zu handhaben, da Administratoren viele verschiedene Plattformen kennen müssten.
  • Es gibt andere Möglichkeiten, diese Informationen zu verschleiern. Die Verwendung einer Kombination aus clientseitigem Scripting (Javascript usw.) und serverseitiger Verschleierung (zufällige Bildnamen) ist der wahrscheinlichste Weg, um dies zu erreichen, ohne die Benutzererfahrung zu beeinträchtigen. Das Hinzufügen von etwas Verschleierung Java und/oder Flash oder ähnlichem würde es schwieriger machen, während sich dies möglicherweise nur minimal auf einige Benutzer auswirkt.
  • Kombinieren Sie einige dieser Vorgehensweisen mit den oben genannten: Wenn eine Seite mehr als x Mal pro Minute neu geladen wird, ändern Sie den Bildnamen (wenn Sie einen statischen Bildnamen vorgeschlagen haben) oder geben Sie ihnen eine zwei Minuten alte zwischengespeicherte Seite .
  • Es gibt einige sehr ausgefeilte Dinge, die Sie im Back-End mit der Verfolgung des Benutzerverhaltens tun können, die möglicherweise nicht zu viel Verarbeitung erfordern. Sie können diese Arbeit auf einen dedizierten Server auslagern, um die Auswirkungen auf die Leistung zu minimieren. Nehmen Sie einige Daten aus der Anforderung und senden Sie sie an einen dedizierten Server, der diese Daten verarbeiten kann. Wenn ein verdächtiger Bot aufgrund seines Verhaltens gefunden wird, kann er einen Hook an einen anderen Server senden (Front-End-Routing-Firewall, Server, Router usw. OR Back-End-Web- oder Inhaltsserver) an Fügen Sie diesen Benutzern zusätzliche Sicherheit hinzu. Fügen Sie möglicherweise Java Applets für diese Benutzer hinzu oder fordern Sie zusätzliche Informationen vom Benutzer an (füllen Sie nicht alle Felder auf der Bestellseite vorab aus, und lassen Sie ein anderes Feld leer jedes mal nach dem zufall usw).
0
T B

Ich verstehe das Problem wahrscheinlich nicht ganz, aber mir ist diese Idee gekommen. Verwenden Sie AJAX, um den dynamischen Inhalt in einem festen Intervall zu zeichnen und zu aktualisieren, während die vollständige Seite beim Laden durch Aktualisieren absichtlich langsamer wird.

Nehmen Sie beispielsweise vor, dass das Zeichnen der gesamten Seite beim ersten Aufrufen volle 15 Sekunden dauert. Anschließend wird der dynamische Inhalt nach einer festgelegten Zeit von beispielsweise 5 Sekunden automatisch mit AJAX) aktualisiert. Ein vollständiges Neuladen der Seite stellt einen großen Nachteil dar. Auf der Seite werden möglicherweise regelmäßig neue Informationen (einschließlich Anzeigen) angezeigt, ein vollständiges Neuladen der Seite mithilfe des Neuladens ist jedoch erheblich langsamer.

Es wird für Script-Kiddies möglich sein, die AJAX) - Abfrage herauszufinden und zu automatisieren, aber es wäre dann auch sehr einfach, diese Anforderungen von derselben IP aus zu bewerten. Da es keine gibt Bei einer typischen Methode für einen normalen menschlichen Benutzer, um diese Anforderungen vom Browser aus zu initiieren, wäre es offensichtlich, dass hochratige Anforderungen an die AJAX URL von derselben IP durch irgendeine Form eines automatisierten Systems initiiert würden .

0
bhsimon

verwenden Sie die gleichzeitige Verbindungsbeschränkung pro IP-Adresse entweder über iptables auf dem Server (wenn es auf Linux basiert) oder über einen dedizierten "Router".

0
tagno25

Zwei Lösungen, eine Hightech- und eine Lowtech-Lösung.

Zuerst die High-Tech-Technologie: Die BOC-Angebote sind innerhalb von Sekunden ausverkauft, da Bots viele davon in den ersten Millisekunden erhalten. Also, anstatt zu versuchen, die Bots zu besiegen, verkaufen Sie ihnen, wonach sie suchen: eine Tüte Mist. Natürlich wertloser Mist: verbogene Büroklammern und verunreinigte Fotos von Rosie O'Donnell. Stellen Sie dann einige Sekunden lang zufällige Verzögerungen auf dem Server ein. Wenn der Verkauf fortgesetzt wird, erhöht sich der tatsächliche Wert des verkauften Produkts, der Verkaufspreis jedoch nicht. Auf diese Weise erhalten die ersten Käufer (Bots in den ersten Millisekunden) etwas, das viel weniger wert ist als das, was sie bezahlt haben (braune Zwiebelkuchen?), Die nächsten Käufer (langsamere Bots oder schnellere Menschen) etwas Unspektakuläres, aber den Kaufpreis wert ( gekauft auf Sendung?), und die letzten Käufer (fast alle Menschen) bekommen etwas, das mehr wert ist als der Kaufpreis (Champagner ausbrechen?). Dieser Flachbildfernseher befindet sich möglicherweise im letzten gekauften BOC.

Wer zu lange wartet, kommt zu kurz, aber gleichzeitig wird jeder, der zu schnell kauft, abgespritzt. Der Trick ist, eine Weile zu warten ... aber nicht zu viel. Es geht um etwas Glück, das so ist, wie es sein sollte.

Die Low-Tech-Lösung wäre, den Namen des BOC in etwas zu ändern, das Menschen interpretieren können, Bots jedoch nicht. Weinschale der Exkremente? Sack mit Geruch? Topologisch flache Oberfläche neben sortierten Waren? Verwenden Sie niemals denselben Namen zweimal, verwenden Sie nur geringfügig unterschiedliche Bilder und erläutern Sie in der Produktbeschreibung, was tatsächlich verkauft wird.

0
Mitsurati

Eine recht einfache Lösung besteht darin, den Zeitunterschied zwischen dem Rendern der Formulare und dem Erhalten der Antwort zu verfolgen: Bots haben normalerweise extrem kurze Antwortzeiten von Millisekunden, das kann kein Benutzer. oder extrem lange Reaktionszeiten von mehreren Stunden.

Es gibt ein Django Schnipsel, zusammen mit einer detaillierteren Beschreibung:

Alternative zu Captchas (ohne menschliche Interaktion)