So erhalten Sie Mechanisierungsanfragen so, als ob sie von einem echten Browser stammen

8

OK, hier ist der Header (nur ein Beispiel), den ich von Live HTTP Header bekommen habe, während ich mich bei einem Account anmelde:

%Vor%

Normalerweise würde ich so schreiben:

%Vor%

Der obige Code funktioniert einwandfrei. Meine Frage ist, muss ich auch diese folgenden Zeilen hinzufügen (und mehr in früheren Header-Infos) in LoginHeader , damit es wirklich aussieht wie Firefox surfen, nicht mechanisieren?

%Vor%

Welche Teile / wie viele Header-Infos müssen gefälscht werden, damit sie "echt" aussehen?

    
Shane 07.01.2011, 05:23
quelle

3 Antworten

6

Es kommt darauf an, was Sie versuchen zu "täuschen". Sie können versuchen, einige Online-Dienste, die einfache User Agent Sniffing tun, um Ihren Erfolg zu messen:

Ссылка

Ссылка (suchen Sie nach "Wir denken, Sie benutzen ...")

Ссылка

Ссылка - & gt; wird Ihnen helfen, einige "zu häufige Optionen" auszuwählen.

Ссылка

Ich glaube, ein entschlossener Programmierer könnte Ihr Spiel entdecken, aber viele Log-Parser und Werkzeuge würden nicht einmal echo, was Ihr echter Browser sendet.

Eine Sache, die Sie beachten sollten, ist, dass das Fehlen von JS rote Flags auslösen könnte, also Capture gesendete Header mit JS auch deaktiviert.

    
TryPyPy 07.01.2011, 05:40
quelle
5

So legen Sie den Benutzeragenten für alle Anfragen fest, die von mechanize.Browser

gestellt werden %Vor%

Mechanize kann auch Formulare ausfüllen

%Vor%

Weitere Informationen finden Sie in den Mechanisierungsbeispielen

    
cerberos 03.04.2011 17:00
quelle
0

Wenn Sie paranoid sind, bots / scripts / nicht-reale Browser draußen zu halten, suchen Sie nach Dingen wie der Reihenfolge der HTTP-Anfragen, lassen Sie eine Ressource mit JavaScript hinzufügen. Wenn diese Ressource nicht angefordert oder vor dem JavaScript angefordert wird, wissen Sie, dass es sich um einen "falschen" Browser handelt. Sie können auch die Anzahl der Anfragen pro Verbindung betrachten (keep-alive) oder einfach verifizieren, dass alle CSS-Dateien der ersten Seite (vorausgesetzt, sie befinden sich ganz oben im HTML) geladen werden.

YMMV, aber es kann ziemlich umständlich werden, genug zu simulieren, um einen "falschen" Browser als "echten" (von Menschen benutzt) durchgehen zu lassen.

    
Fredrik Wendt 03.06.2011 13:27
quelle