Irgendwie versteh ich diese Teile immer noch nicht.
Diese Codes können nur Menschen eingeben, keine Bots, woher weiß das Programm dann ob ich den richtigen Code eingegeben habe.
Gibt es diese Teile eigendlich auch irgendwo kostenlos oder muss man sich die selbst schreiben, in was sind die eigendlich geschrieben?
Diese Sicherheitscodes
gepostet vor 19 Jahre, 3 Monate von Mays
gepostet vor 19 Jahre, 3 Monate von Kampfhoernchen
Weil der Server sich merkt, welche Zeichenfolge kommen müsste.
Es gibt garantiert auch offene Lösungen. Einfach mal die üblichen Quellen durchsuchen.
Es gibt garantiert auch offene Lösungen. Einfach mal die üblichen Quellen durchsuchen.
gepostet vor 19 Jahre, 3 Monate von friedenspanzer
Imo hast du zwei Möglichkeiten. Entweder du arbeitetest mit den Bildfunktionen von PHP, damit kannst du dann zufälligen Text in ein Bild einbinden, oder du erstellst für jeden Buchstaben einzeln ein Bild und fügst zufällig welche ein. Dann musst du nur noch überprüfen ob die Eingabe mit dem zufällig generierten Text übereinstimmt und hast eine prima Menschlichkeitsüberprüfung.
(Hoffe ich hab richtig verstanden was du meinst ^^)
(Hoffe ich hab richtig verstanden was du meinst ^^)
gepostet vor 19 Jahre, 3 Monate von wusch
oder du erstellst für jeden Buchstaben einzeln ein Bild und fügst zufällig welche ein
Das macht etwa gleich viel sinn, wie wenn du die Buchstaben als Text hinschreibst
@all: ich finde die dinge machen ohnehin keinen sinn, der login ist ja keine hürde für einen scripter Und von Bildern lesen können die etwas intelligenteren auch Wenn jemand ins Spiel will, dann kommt er auch rein. Die User nervts ohnehin nur..
gepostet vor 19 Jahre, 3 Monate von RedMax
Dann erklär mal, wie ein Script den offenen Kreis findet
Das ist nicht mit vertretbarem Aufwand zu machen.
Das ist nicht mit vertretbarem Aufwand zu machen.
gepostet vor 19 Jahre, 3 Monate von Fornax
So hab ich das gelöst. Ich weiss nicht, ob es sicher ist, aber das müsste es eigentlich, weil der Code nicht als Cookie oder So gepeichert wird, sondern duch die Sessions auf dem server bleibt. Ich habe dien Code stark gekürtzt, weil ja noch der eigentliche Login mit PW-check dahinter steht.
bild.php
ob_start();
session_start();
session_unregister('code');
session_register('code');
$arr = array("q", "w", "e", "r", "t", "z", "u", "i", "o", "p", "a", "s", "d", "f", "g", "h", "j", "k", "l", "y", "x", "c", "v", "b", "n", "m", "1", "2", "3", "4", "5", "6", "7", "8", "9");
$zahl1 = rand(4,7);
$code = "";
$i=0;
while($i <= $zahl1){
$a = rand(0,35);
$code = $code . $arr[$a];
$i++;
}
header("Content-Type: image/png");
$im = ImageCreate(100, 25);
$fill = ImageColorAllocate( $im , 0, 0, 0 );
$color = ImageColorAllocate( $im , 255, 255, 255 );
$fontfile = "../fonts/comic.ttf";
ImageTTFText ($im, 16, 2, 5, 20, $color, $fontfile, $code);
ImagePNG ( $im );
?>
Login.php
session_start();
if($login){
echo("");
}
else{
if($phpcode != $code){
echo("Falscher Code!
");
$ok = false;
}
}
bild.php
ob_start();
session_start();
session_unregister('code');
session_register('code');
$arr = array("q", "w", "e", "r", "t", "z", "u", "i", "o", "p", "a", "s", "d", "f", "g", "h", "j", "k", "l", "y", "x", "c", "v", "b", "n", "m", "1", "2", "3", "4", "5", "6", "7", "8", "9");
$zahl1 = rand(4,7);
$code = "";
$i=0;
while($i <= $zahl1){
$a = rand(0,35);
$code = $code . $arr[$a];
$i++;
}
header("Content-Type: image/png");
$im = ImageCreate(100, 25);
$fill = ImageColorAllocate( $im , 0, 0, 0 );
$color = ImageColorAllocate( $im , 255, 255, 255 );
$fontfile = "../fonts/comic.ttf";
ImageTTFText ($im, 16, 2, 5, 20, $color, $fontfile, $code);
ImagePNG ( $im );
?>
Login.php
session_start();
if($login){
echo("");
}
else{
if($phpcode != $code){
echo("Falscher Code!
");
$ok = false;
}
}
gepostet vor 19 Jahre, 3 Monate von friedenspanzer
Du könntest eventuell auch noch einbauen dass es jeden Buchstaben einzeln in unterschiedlicher Schriftgröße und Höhe einfügt, das ist nen Tick sicherer. So ist aber schon ganz nett :wink:
Kleiner Tipp zur Bequemlichkeit: Statt "$code = $code . $arr[$a];" kannst du auch "$code .= $arr[$a];" schreiben.
@wusch: Hast wohl recht. Wollts nur als Alternative anbeiten :roll:
Kleiner Tipp zur Bequemlichkeit: Statt "$code = $code . $arr[$a];" kannst du auch "$code .= $arr[$a];" schreiben.
@wusch: Hast wohl recht. Wollts nur als Alternative anbeiten :roll:
gepostet vor 19 Jahre, 3 Monate von Fornax
Ja, die Schreibweise ist auch ok, aber ich finde sie bei Strings nicht so übersichtlich. Ich benutze das nur bei Zahlen, da ist es dann besser (find ich...)
Zur Sicherheit:
Das war nur mal ein erstentwurf für unsere Testphase. Wir wollen dann später noch Striche und Lienen durchziehen. Das mit der Schriftgröße ist eine gute Idee, danke! Man könnte es auch noch so machen, das die Buchstaben nicht paralel stehen, also auf unterschiedlichen y-koordinaten und gedreht.
Zur Sicherheit:
Das war nur mal ein erstentwurf für unsere Testphase. Wir wollen dann später noch Striche und Lienen durchziehen. Das mit der Schriftgröße ist eine gute Idee, danke! Man könnte es auch noch so machen, das die Buchstaben nicht paralel stehen, also auf unterschiedlichen y-koordinaten und gedreht.
gepostet vor 19 Jahre, 3 Monate von friedenspanzer
Das meinte ich mit unterschiedlicher Höhe :wink:
Du könntest auch dem Abstand zwischen den Buchstaben ein wenig Freiraum geben, so dass zweich Buchstaben sich berühren oder weit auseinander stehen können.
Du könntest auch dem Abstand zwischen den Buchstaben ein wenig Freiraum geben, so dass zweich Buchstaben sich berühren oder weit auseinander stehen können.
gepostet vor 19 Jahre, 3 Monate von The_Alien
Hm - bei mir stellt der kein Bild da - in der aufgerufenen HTML Datei steht auch immer noch bild.php
Oder bin ich einfach grade blöde (ich habe bisher noch keine Images über PHP erstellt daher kann es sein das ich da was falsch mache)
Oder bin ich einfach grade blöde (ich habe bisher noch keine Images über PHP erstellt daher kann es sein das ich da was falsch mache)
gepostet vor 19 Jahre, 3 Monate von Mays
Wenn ich das so richtig sehe würden doch auch zwei oder drei Buchstaben/Zahlen reichen oder?
In vielen Games sind ja 4 oder 6.
In vielen Games sind ja 4 oder 6.
gepostet vor 19 Jahre, 3 Monate von Fornax
@The_Alien:
Führ mal das folgende Script aus:
Dann siehtst du, ob du eine erweiterung für Bilder hast.
@Mays:
Ja, ginge auch
Führ mal das folgende Script aus:
Dann siehtst du, ob du eine erweiterung für Bilder hast.
@Mays:
Ja, ginge auch
gepostet vor 19 Jahre, 3 Monate von Fornax
So, falls es bei jemanden noch nicht funktionieren sollte:
www.webmaster-resource.de/tricks/php/grafikfunktionen-aktivieren.php
- oder -
www.webmaster-resource.de/tricks/php/sicherheitsabfrage-mit-hilfe-eines-grafischen-codes.php
Ja, ich weiss, doppelpost. Aber ansonsten bekommt es ja niemand mit
www.webmaster-resource.de/tricks/php/grafikfunktionen-aktivieren.php
- oder -
www.webmaster-resource.de/tricks/php/sicherheitsabfrage-mit-hilfe-eines-grafischen-codes.php
Ja, ich weiss, doppelpost. Aber ansonsten bekommt es ja niemand mit
gepostet vor 19 Jahre, 3 Monate von Blabbo
Also entweder bin ich total doof, oder dieses Beispiel ist ein absoluter Witz, weil der Code im Quelltext gleich zweimal drinsteckt und der Schutz somit von nem Script ja wohl sowas von leicht zu knacken ist?!
gepostet vor 19 Jahre, 3 Monate von Fornax
Hmm, also ich hatte es mir nicht durgelesen...
Es ist ein Witz! *g*
Es ist ein Witz! *g*
gepostet vor 18 Jahre, 12 Monate von The_Alien
Hm, GD ist komplett installiert
[FreeType Support] => 1
[FreeType Linkage] => with freetype
[T1Lib Support] => 1
[GIF Read Support] => 1
[GIF Create Support] => 1
[JPG Support] => 1
[PNG Support] => 1
[WBMP Support] => 1
[XBM Support] =>
[JIS-mapped Japanese Font Support] =>
Aber dennoch kommt kein Bild sondern nur der Platzhalter.
$im = imagecreate (400, 30);
$black = ImageColorAllocate ($im, 0, 0, 0);
$white = ImageColorAllocate ($im, 255, 255, 255);
ImageTTFText ($im, 20, 0, 10, 20, $white, "./comic.ttf","Teste... ;");
ImageGif ($im);
ImageDestroy ($im);
?>
Png habe ich auch versucht - kommt auch nichts. Wodrann kann es noch liegen weil ich bisher keine richtige Lösung gefunden habe und das Problem auf allen 3 Servern besteht.
[GD Version] => 2.0 or higher
[FreeType Support] => 1
[FreeType Linkage] => with freetype
[T1Lib Support] => 1
[GIF Read Support] => 1
[GIF Create Support] => 1
[JPG Support] => 1
[PNG Support] => 1
[WBMP Support] => 1
[XBM Support] =>
[JIS-mapped Japanese Font Support] =>
Aber dennoch kommt kein Bild sondern nur der Platzhalter.
Header ("Content-type: image/gif");
$im = imagecreate (400, 30);
$black = ImageColorAllocate ($im, 0, 0, 0);
$white = ImageColorAllocate ($im, 255, 255, 255);
ImageTTFText ($im, 20, 0, 10, 20, $white, "./comic.ttf","Teste... ;");
ImageGif ($im);
ImageDestroy ($im);
?>
Png habe ich auch versucht - kommt auch nichts. Wodrann kann es noch liegen weil ich bisher keine richtige Lösung gefunden habe und das Problem auf allen 3 Servern besteht.
gepostet vor 18 Jahre, 12 Monate von Kallisti
Liegt "comic.ttf" im selben Ordner und du / der Webserver hast / hat Zugriffsrechte?
gepostet vor 18 Jahre, 12 Monate von poncho
Von solchen Überprüfungen halte ich ja nicht viel. Für den ehrlichen Nutzer ist sowas nur nervig und einen guten Programmierer hält sowas auch nicht ab (zumindest nicht, wenn man schon eingeloggt ist).
Die effektivste aber auch schwierigste Form der Bot-Bekämpfung ist immernoch die Kontrolle des Surfverhaltens (dabei können Scripts ja auch helfen).
Die effektivste aber auch schwierigste Form der Bot-Bekämpfung ist immernoch die Kontrolle des Surfverhaltens (dabei können Scripts ja auch helfen).
gepostet vor 18 Jahre, 12 Monate von BuschnicK
Dann erklär mal, wie ein Script den offenen Kreis findet Smile
Das ist nicht mit vertretbarem Aufwand zu machen.
Das Bild binariesieren in Vordergrund und Hintergrund, so dass die Kreise alle weiss und der Hintergrund schwarz ist. Hough Transformation für Kreise durchführen, Dreidimensionalen Hough Merkmalsraum nach Häufungspunkten durchsuchen. Feststellen, dass ein Häufungspunkt weniger Stützstellen hat als die anderen. Auf den Mittelpunkt klicken - voila - eingeloggt. ;-)
www.cv.tu-berlin.de/lehre/cv/aba/ba_ue2/aba_ue2.pdf
Oh, und btw, die meisten Buchstaben/Zahlencodes sind noch um einiges leichter zu lesen. Manchmal haben meine OCR Algorithmen damit weniger Probleme als ich.
mfG,
Sören
PS: Ich verdien mein Geld mit Bildverarbeitung ;-)
gepostet vor 18 Jahre, 12 Monate von Kallisti
Vor allem laesst sich so ein "Kreis" technisch nicht ohne javascript oder 2te Seite beim Login implementieren, wenn man einen sofort verstaendlichen "Login" Button haben moechte.
Demnach faellt es fuer mich direkt raus.
Poncho: Doch, es haelt jede Menge wannabe scripter ab.
Mit dem Perlmodul www:mechanize ist es SO WAS von einfach Bots zu schreiben...
Zudem schafft es ein guter Programmierer auch, dass sein Bot fuer Logdateien "echt aussieht".
Demnach faellt es fuer mich direkt raus.
Poncho: Doch, es haelt jede Menge wannabe scripter ab.
Mit dem Perlmodul www:mechanize ist es SO WAS von einfach Bots zu schreiben...
Zudem schafft es ein guter Programmierer auch, dass sein Bot fuer Logdateien "echt aussieht".
gepostet vor 18 Jahre, 12 Monate von TheUndeadable
Man muss gar nicht mal sich mit Perl zu beschäftigen.
http://winfx.msdn.microsoft.com/library/en-us/dv_fxmclictl/html/12667861-5b5b-46bc-8fb5-675e25264c9f.asp?frame=true
Damit kann jedes VB-Skriptkiddie den IE einbetten und komplett mit einfachsten Mitteln steuern.
http://winfx.msdn.microsoft.com/library/en-us/dv_fxmclictl/html/12667861-5b5b-46bc-8fb5-675e25264c9f.asp?frame=true
Damit kann jedes VB-Skriptkiddie den IE einbetten und komplett mit einfachsten Mitteln steuern.
gepostet vor 18 Jahre, 12 Monate von Kallisti
Original von TheUndeadable
Man muss gar nicht mal sich mit Perl zu beschäftigen.
http://winfx.msdn.microsoft.com/library/en-us/dv_fxmclictl/html/12667861-5b5b-46bc-8fb5-675e25264c9f.asp?frame=true
Damit kann jedes VB-Skriptkiddie den IE einbetten und komplett mit einfachsten Mitteln steuern.
Ist viel aufwendiger und schwieriger als die Perl Variante, finde ich persoenlich. Vor allem das Auswerten von Informationen..
Das Perl script hier loggt sich bei d-wars.com ein und gibt Basisinfos aus und die haben einige sonderbare Weiterleitungen da drin, die es etwas aufwendiger machen.. zudem wird man auf verschiedene Server (mit verschiedenen IP Adressen) weitergeleitet.. - http://www.403i.de/item/69
Ist eigentlich eine kleine, auf die Schnelle geschriebene, Demo um zu zeigen wie sinnlos deren Captcha ist, da man den Code aus der URL zurueckrechnen kann und nur Leute, die nicht fuer das Spiel zahlen bekommen die Code Eingabe angezeigt...
use WWW::Mechanize;
my $mech = WWW::Mechanize->new(autocheck => 1);
$mech->agent_alias('Windows IE 6');
$mech->timeout(10);
$mech->env_proxy;
my %pages=(
login => 'http://www.d-wars.com/login/',
main => '/dw.php',
leftframe => '/frames/links_navi3.php?dwathome=ja&dwverzeichnis=',
news => '/php/nachrichtenc.php4');
login($pages{'login'});
print "\nDone!\n";
sub login
{
my $page = shift;
$mech->get($page);
$mech->form_number(1);
$mech->field('uname','USERNAME');
$mech->field('upasswort','PASSWORD');
my $codeimage = $mech->find_image(url_regex => qr/code\.php/i);
(my $offsethex, my $offsetjunk, my $code)=split(/\*/, substr($codeimage->url,index($codeimage->url,'=')+1));
$code=hex(substr($code, $offsetjunk, $offsethex));
#print $code."\n".$codeimage->url."\n";
$mech->field('key',$code);
my $result = $mech->click_button(name => 'test');
my $baseurl = substr($result->base,0,index($result->base,'/php'));
if($result->content =~ m/falschlog\.php/i)
{ print "Login failed...\n"; }
else
{ mainpage($pages{'main'},$baseurl) }
}
sub mainpage
{
my $page = shift;
my $baseurl = shift;
my $omni = 0;
$mech->get($baseurl.$page);
$mech->follow_link( tag => "frame", url_regex => qr/php\/rechts_login\.php4/i );
$mech->get($baseurl.$pages{'news'});
if($mech->content(format => "text") =~ m/Commander:\s+(.*?)Base:\s+(\S*?)\s+\((\d*)\)Rang:\s+(\S*?)\s+:\s+(\d*)\s+:\s+(\d*)\s+:\s+(\d*)\s+:\s+(\d*)\s+:\s+(\d*)\s+:\s+(\d*)\s+/g)
{
print "Commander: $1\nBase: $2\nOmni: $3\nRang: $4\n\nEisen: $5\nTitan: $6\nOil: $7\nUran: $8\nGold: $9\nSel: $10\n";
$omni=$3;
}
$mech->save_content('fileoutput');
$mech->back();
$mech->get($baseurl.$pages{'leftframe'}.$omni);
}
Es ist also wirklich kinderleicht, sofern man kein Captcha hat. Der Aufwand fuer eine Erkennung ist um Welten groesser.
Ich habe auch deren grafikcaptcha mal mit ocr bearbeitet und hatte bei lernender Datenbank gute Resultate, aber sie hatten einen statischen Hintergrund, daher war das ganze nicht sonderlich schwer und beschraenkte sich auf wenige Image-Magick Funktinen + ocr call.
gepostet vor 18 Jahre, 12 Monate von The_Alien
Original von BuschnicK
.....Das Bild binariesieren in Vordergrund und Hintergrund, so dass die Kreise alle weiss und der Hintergrund schwarz ist. Hough Transformation für Kreise durchführen, Dreidimensionalen Hough Merkmalsraum nach Häufungspunkten durchsuchen. Feststellen, dass ein Häufungspunkt weniger Stützstellen hat als die anderen. Auf den Mittelpunkt klicken - voila - eingeloggt. ;-)
www.cv.tu-berlin.de/lehre/cv/aba/ba_ue2/aba_ue2.pdf
....
Hm - und für 99% der spieler (und auch für mich) ist das chinesisch - ich versteh da garnix.
Diese Kreise und solche abfragen halten aber wie gesagt zumindest die einfachsten Scripter ab denn schon die wengisten wissen nicht wie man bei einem solchen fall ein OCR automatisch einsetzen sollte.
Und das mit den Kreisen - nun ich würde das im bedarfsfall so versuchen das ich jeden pixel abscanne. Treffe ich auf einen weißen so verfolge ich die weißen pixel und schaue ob es ein Kreis ist. Ist er unterbrochen gehe ich im selben Radius weiter - passt es (Also ist ein Kreis) der unterbrochen ist habe ich auch meinen Klickpunkt. Aber ob das so funktionieren würde weiß ich nicht.
MeinProblem mit dem erstellen von Grafiken hat sich auch erledigt - nach dem umstellen der Fehlermeldungsanzeige kam die Meldung das createimage() eine unbekannte Funktion sei - habe mich zwar gewundert (da GD etc ja drinne war) aber ein paar RPM's später funktionierte es dann endlich.
gepostet vor 18 Jahre, 12 Monate von TheUndeadable
hehe will jetzt keinen Contest starten, aber der Pseudo-Code für den integrierten Browser sieht folgendermaßen aus:
webbrowser.Navigate ( "http://" );
webbrowser.document.forms [ 0 ].element [ "id" ].text="bla";
webbrowser.document.forms [ 0 ].element [ "button" ].click();
Beides insgesamt sehr einfach, aber jedem das, was einem besser gefällt ;-)
Und Captchas sind mittlerweile auch leicht ausgehebelt. Hatte mal eine Lösung gesehen, die die Captchas über ein Peering-Netzwerk verteilt und irgendeiner der Gruppe ist immer online. Damit wurde vermieden, dass die Bots die Captchas selbst auswerten mussten.
webbrowser.Navigate ( "http://" );
webbrowser.document.forms [ 0 ].element [ "id" ].text="bla";
webbrowser.document.forms [ 0 ].element [ "button" ].click();
Beides insgesamt sehr einfach, aber jedem das, was einem besser gefällt ;-)
Und Captchas sind mittlerweile auch leicht ausgehebelt. Hatte mal eine Lösung gesehen, die die Captchas über ein Peering-Netzwerk verteilt und irgendeiner der Gruppe ist immer online. Damit wurde vermieden, dass die Bots die Captchas selbst auswerten mussten.
gepostet vor 18 Jahre, 12 Monate von Mudder
Wie sieht das bei diesen Methoden eigentlich mit AJAX aus?
Ist das damit schwerer oder leichter auszulesen?
Ist das damit schwerer oder leichter auszulesen?
gepostet vor 18 Jahre, 12 Monate von Kampfhoernchen
Ajax dürfte rein vom Parsen her ein wenig einfacher sein. Aber inzwischen gibts auch gute HTML-Parser, die den Code ohne großartiges Zutun in Arrays zerlegen.
gepostet vor 18 Jahre, 12 Monate von TheUndeadable
Zumindest macht es der Webbrowser-Komponente nichts aus, wenn Inhalte dynamisch oder nicht dynamisch eingebunden werden. Du greifst direkt auf dem DOM-Baum zu.
gepostet vor 18 Jahre, 12 Monate von Kallisti
Original von TheUndeadable
Beides insgesamt sehr einfach, aber jedem das, was einem besser gefällt ;-)
Und Captchas sind mittlerweile auch leicht ausgehebelt. Hatte mal eine Lösung gesehen, die die Captchas über ein Peering-Netzwerk verteilt und irgendeiner der Gruppe ist immer online. Damit wurde vermieden, dass die Bots die Captchas selbst auswerten mussten.
Joa, davon habe ich auch gelesen, aber den Aufand betreibt kein normaler Botter. Die dafuer noetige kriminelle Energie nutzt man glaub ich nur, wenn es wirklich um Geld geht.
Ansonsten okay, beide Programmierwege sind wohl moeglich und simpel.
gepostet vor 18 Jahre, 12 Monate von Kampfhoernchen
Original von TheUndeadable
Zumindest macht es der Webbrowser-Komponente nichts aus, wenn Inhalte dynamisch oder nicht dynamisch eingebunden werden. Du greifst direkt auf dem DOM-Baum zu.
Wenn man nicht über den Browser geht, kann man direkt das XML verwenden. Und da dieses z.B. in der Form
dada
betreff
Inhalt
vorliegt, ist das natürlich einfacher zu Parsen als ne HTML-Tabelle.
gepostet vor 18 Jahre, 12 Monate von Amun Ra
Das ist ja mal ein Zufall...
Da lese ich gerade auf w3c.org n Artikel und will ein Topic aufmachen.
http://www.w3.org/TR/turingtest/
Na ja, kann man sich ja mal durchlesen...
Da lese ich gerade auf w3c.org n Artikel und will ein Topic aufmachen.
http://www.w3.org/TR/turingtest/
Na ja, kann man sich ja mal durchlesen...
gepostet vor 18 Jahre, 12 Monate von BuschnicK
Von solchen Überprüfungen halte ich ja nicht viel. Für den ehrlichen Nutzer ist sowas nur nervig und einen guten Programmierer hält sowas auch nicht ab (zumindest nicht, wenn man schon eingeloggt ist).
Amen. Ich finde diese Dinger auch immer mehr als nervig, ich werde gleich mal diesen verlinkten TuringTest Artikel lesen - vielleicht gibt es ja noch bessere Ideen als die Captchas. Ich würde mir wünschen, dass mein Spiel ohne so ein Ding auskommen kann.
Die effektivste aber auch schwierigste Form der Bot-Bekämpfung ist immernoch die Kontrolle des Surfverhaltens (dabei können Scripts ja auch helfen).
Die sinnvollste Form hingegen wäre das Spiel so zu entwerfen, dass es:
a) Zuviel Spass macht selbst zu spielen, als das man einen Bot ranlassen würde
b) So viele wichtige und relevante Entscheidungen verlangt, dass die Botlogik zu schwierig/aufwendig für den Durchschnittsscripter sein müsste
c) Andere Spieler durch die Interaktion im Spiel sofort merken können, wenn sie einen Botmitspieler haben - und diesen dann kicken. Also Selbstkontrolle der Spieler
d) Man gar keinen Vorteil davon hat ewig wiederkehrende BotAktionen perfekt getimed auszuführen, so dass es müssig ist einen Bot zu entwickeln.
Ich denke die Hauptproblematik liegt heutzutage noch darin, dass die meisten Browsergames einfach viel zu repetitiv und simpel sind. Sobald eine gewisse Spieltiefe erreicht wird taugen Bots einfach nicht mehr. Oder schreibt ihr euch auch mal eben ne AI, die Civilization für euch zockt?
mfG,
Sören
gepostet vor 18 Jahre, 12 Monate von Kallisti
Deine Argumentation hinkt voellig.
Schach ist meiner Meinung nach das "perfekte Spiel", da es eine riesige Zahl von Moeglichkeiten gibt, es total taktisch und komplex ist, obwohl doch gleichzeitig sehr simpel.
Ein meiner Meinung nach "perfektes Browserspiel", kann also aehnlich aussehen.
Aber auch im Schach besiegen Bots Menschen mittlerweile - und zwar sogar die besten menschlichen Schachspieler.
Das Grundprinzip von Wettkampf ist Wettbewerb. Man eifert miteinander um die Wette, wer besser, schneller, staerker ist. Und _immer_ wenn du Wettkampf und Interaktion hast, ist es so, dass diejenigen - bei gleichen Voraussetzungen - , die mehr Zeit investieren besser sind. Ist immer so. Und da ein Bot mehr Zeitinvestition moeglich macht, ist ein Bot somit auch immer effektiver.
Kein Admin kann ein Spiel bauen, wo immer neuer Content kommt, der sich nicht wiederholt, so dass ein Bot sich nicht lohnt - da kommt niemand hinterher.
Die einzigen Spiele, in denen Bots keinen Sinn machen, sind Spiele in denen es keinen echten Wettkampf gibt. Also Rollenspiele, die im Grunde nur ein Chat mir Rahmenhandlung sind bzw. in denen man die Zahl der aktionen limitiert (evergore.de o.ae.). Aber da hast du eben keinen echten Wettkampf mehr, der so erfolgreich ist und gerade der die Powergamer motiviert.
Es ist also eine ziemlich unsinnige Aussage zu behaupten, dass das Ziel eines jeden antibotting waere, botusage sinnlos zu machen, da dies das Prinzip von fast allen Spielen auf dieser Welt (und zwar nicht nur Browsergames) unterwandert.
Bots sind ja auch nur fuer die Momente in denen man nicht online sein kann...
S.o. - so kann man mit Content nicht hinterherkommen, das ist unmoeglich - gewisse Strukturen wiederholen sich immer. Und wenn man sooo viele und relevante Entscheidungen treffen muss, fuehrt das bei normalen Spielern auch zu viel Stress.
Nicht jeder moechte mit anderen Spielern kommunizieren und interagieren.
S.o. das ist das Prinzip jedes Wettkampfes.
Schach ist meiner Meinung nach das "perfekte Spiel", da es eine riesige Zahl von Moeglichkeiten gibt, es total taktisch und komplex ist, obwohl doch gleichzeitig sehr simpel.
Ein meiner Meinung nach "perfektes Browserspiel", kann also aehnlich aussehen.
Aber auch im Schach besiegen Bots Menschen mittlerweile - und zwar sogar die besten menschlichen Schachspieler.
Das Grundprinzip von Wettkampf ist Wettbewerb. Man eifert miteinander um die Wette, wer besser, schneller, staerker ist. Und _immer_ wenn du Wettkampf und Interaktion hast, ist es so, dass diejenigen - bei gleichen Voraussetzungen - , die mehr Zeit investieren besser sind. Ist immer so. Und da ein Bot mehr Zeitinvestition moeglich macht, ist ein Bot somit auch immer effektiver.
Kein Admin kann ein Spiel bauen, wo immer neuer Content kommt, der sich nicht wiederholt, so dass ein Bot sich nicht lohnt - da kommt niemand hinterher.
Die einzigen Spiele, in denen Bots keinen Sinn machen, sind Spiele in denen es keinen echten Wettkampf gibt. Also Rollenspiele, die im Grunde nur ein Chat mir Rahmenhandlung sind bzw. in denen man die Zahl der aktionen limitiert (evergore.de o.ae.). Aber da hast du eben keinen echten Wettkampf mehr, der so erfolgreich ist und gerade der die Powergamer motiviert.
Es ist also eine ziemlich unsinnige Aussage zu behaupten, dass das Ziel eines jeden antibotting waere, botusage sinnlos zu machen, da dies das Prinzip von fast allen Spielen auf dieser Welt (und zwar nicht nur Browsergames) unterwandert.
a) Zuviel Spass macht selbst zu spielen, als das man einen Bot ranlassen würde
Bots sind ja auch nur fuer die Momente in denen man nicht online sein kann...
b) So viele wichtige und relevante Entscheidungen verlangt, dass die Botlogik zu schwierig/aufwendig für den Durchschnittsscripter sein müsste
S.o. - so kann man mit Content nicht hinterherkommen, das ist unmoeglich - gewisse Strukturen wiederholen sich immer. Und wenn man sooo viele und relevante Entscheidungen treffen muss, fuehrt das bei normalen Spielern auch zu viel Stress.
c) Andere Spieler durch die Interaktion im Spiel sofort merken können, wenn sie einen Botmitspieler haben - und diesen dann kicken. Also Selbstkontrolle der Spieler
Nicht jeder moechte mit anderen Spielern kommunizieren und interagieren.
d) Man gar keinen Vorteil davon hat ewig wiederkehrende BotAktionen perfekt getimed auszuführen, so dass es müssig ist einen Bot zu entwickeln.
S.o. das ist das Prinzip jedes Wettkampfes.
gepostet vor 18 Jahre, 12 Monate von Mudder
Wie füllen Bots eigentlich die Formlarfelder?
Indem sie wie JS nach id/name suchen?
Indem sie wie JS nach id/name suchen?
gepostet vor 18 Jahre, 12 Monate von Fornax
Ich würde sagen, sie füllen sie nicht aus, sondern übermitteln sie wie ein Browser über http. Somit wäre theoretisch eine Kontrolle über AJAX möglich. Aber nur auf den ersten Blick: Wer schreib schon einen bot mit Javascript unterstützung?! Wenn doch, kann der Bot den Datenaustausch zwischen AJAX/Server kontrolieren und manipulieren.
gepostet vor 18 Jahre, 12 Monate von TheUndeadable
Es gibt zwei grundsätzliche Arten von Bots:
a) Emulierung der HTTP-Requests:
Das ist der Ansatz von Kallisti. Ein Skript erzeugt selbst HTTP-Requests, liest den Text und sendet entsprechende weiterführende POST und GET-Variablen an den Server. Dies kann dann schön in einen Pseudo-Browser verarbeitet werden, wie es bei dem mechanize-Package gemacht wird.
b) Nutzung eines vorhandenen Browsers:
Dies ist mein Ansatz. Ein Programm nimmt einen bestehenden Browser und führt über eine festdefinierte API Befehle an diesen. Einfach geht es zum Beispiel mit dem IE (siehe obengenannter Link). Es wird dann nur noch gesagt: Gehe auf Seite X, suche Feld Y, schreibe Z rein und schicke das Formular ab. Mit etwas Ahnung, hat man in 5 Minuten ein Login geschafft. Der Rest ist nur noch Fleißarbeit.
Da nutzt auch kein JS oder ähnliches, da der IE dieses ja vollständig ausführt. Das gleiche gilt für chrome-Applikationen oder grease-Scripts für den Firefox.
a) Emulierung der HTTP-Requests:
Das ist der Ansatz von Kallisti. Ein Skript erzeugt selbst HTTP-Requests, liest den Text und sendet entsprechende weiterführende POST und GET-Variablen an den Server. Dies kann dann schön in einen Pseudo-Browser verarbeitet werden, wie es bei dem mechanize-Package gemacht wird.
b) Nutzung eines vorhandenen Browsers:
Dies ist mein Ansatz. Ein Programm nimmt einen bestehenden Browser und führt über eine festdefinierte API Befehle an diesen. Einfach geht es zum Beispiel mit dem IE (siehe obengenannter Link). Es wird dann nur noch gesagt: Gehe auf Seite X, suche Feld Y, schreibe Z rein und schicke das Formular ab. Mit etwas Ahnung, hat man in 5 Minuten ein Login geschafft. Der Rest ist nur noch Fleißarbeit.
Da nutzt auch kein JS oder ähnliches, da der IE dieses ja vollständig ausführt. Das gleiche gilt für chrome-Applikationen oder grease-Scripts für den Firefox.
gepostet vor 18 Jahre, 12 Monate von Kallisti
Jop, es gibt keinen 100%igen Schutz, aber ein Turing Test (wenn es gute Alternativen zum Code Captcha gibt, ist da ja nichts gegen einzuwenden), ist wohl noch der beste Weg.
Javascript zur "Sicherung" ist einfach nur ...sorry... krank. - ein Fehler im Script, Browserbugs, andere Browser, Javascript einfach nur nicht an, - und emulieren kann man es mit einem Bot ja dennoch, mit beiden Methoden.
Javascript zur "Sicherung" ist einfach nur ...sorry... krank. - ein Fehler im Script, Browserbugs, andere Browser, Javascript einfach nur nicht an, - und emulieren kann man es mit einem Bot ja dennoch, mit beiden Methoden.
gepostet vor 18 Jahre, 12 Monate von TheUndeadable
Ich persönlich würde Bots nicht aktiv bekämpfen, sondern sie regelmäßig in die Falle laufen lassen. Dies kann durch leichte Änderungen der Website geschehen.
Zum Beispiel kann man die Namen der Buttons 'Login' und 'Abbrechen' regelmäßig einfach vertauschen. Der Benutzer merkt davon nichts und klickt weiterhin auf den korrekten Button. Das Skript fällt drauf rein. Damit ist der User schonmal auffällig. Man kann weiterhin mit CSS die Position diverser Buttons durcheinanderwirbeln, so dass das Skript wiederum drauf reinfällt. Fallen mehrere Faktoren, wie diese Fallen oder regelmäßige oder gar unmögliche Loginzeiten zusammen, kann man zu einer hohen Wahrscheinlichkeit von einem Botnutzer ausgehen.
Natürlich sollte man dabei auswerten, ob Textbrowser die Seite gerade verarbeiten, diese kümmern sich nicht um CSS-Vertauschungen.
Zum Beispiel kann man die Namen der Buttons 'Login' und 'Abbrechen' regelmäßig einfach vertauschen. Der Benutzer merkt davon nichts und klickt weiterhin auf den korrekten Button. Das Skript fällt drauf rein. Damit ist der User schonmal auffällig. Man kann weiterhin mit CSS die Position diverser Buttons durcheinanderwirbeln, so dass das Skript wiederum drauf reinfällt. Fallen mehrere Faktoren, wie diese Fallen oder regelmäßige oder gar unmögliche Loginzeiten zusammen, kann man zu einer hohen Wahrscheinlichkeit von einem Botnutzer ausgehen.
Natürlich sollte man dabei auswerten, ob Textbrowser die Seite gerade verarbeiten, diese kümmern sich nicht um CSS-Vertauschungen.
gepostet vor 18 Jahre, 12 Monate von Mudder
Etwas ähnliches wollt ich auch grade vorschlagen.. nur noch einen Schritt weiter.
Und zwar das man z.B. dynamische Formularnamen verwendet oder Namen/IDs vertauscht.
Das per Session gesagt wird Elementname "gebaeudetype" ist diesmal "arbeiterzahl" und umgekehrt.
Oder das man immer dynamische Formularnamen verwendet wo ein Formularfeld nun "xoa3om98dj2" heisst..
Und zwar das man z.B. dynamische Formularnamen verwendet oder Namen/IDs vertauscht.
Das per Session gesagt wird Elementname "gebaeudetype" ist diesmal "arbeiterzahl" und umgekehrt.
Oder das man immer dynamische Formularnamen verwendet wo ein Formularfeld nun "xoa3om98dj2" heisst..
gepostet vor 18 Jahre, 12 Monate von Kallisti
Butten Positionen aendern ist ganz boese (auch das was du meint Mudder - ein Bot hat das eher wieder raus, als ein User. Man kann die dinger ja auch "numeriert" ansteuern und Veraenderungen protokollieren).
Man gewoehnt sich als User daran und achtet nicht mehr darauf. Gerade bei einem Spiel, wo jeder Klick schon beinahe autmatisch ist.
Zudem cachen viele Browser auch mal falsch, vor allem Opera ist so ein Kandidat...
Und genau dieses "in die Falle laufen lassen" _ist_ doch aktives Bot bekaempfen. Und genau diese Versuche sind unmoeglich und sinnlos und fordern Botschreiber erst richtig heraus
Ich denke wer es schafft ueber ein Captcha und heuristische Methoden hinwegzukommen, der schafft es so grad noch checksums von den Seiten anzufertigen und denn bot nur weiterlaufen zu lassen, wenn diese stimmen (dynamischen Content kann man ja rausparsen).
Der Botschreiber hat mit grosser Sicherheit mehr Zeit seine Bots anzupassen, als der Developer nur in den Botschutz investieren kann. Und einen Bot anzupassen sind meist 2-3 Zeilen, ein Botschutz dauert Stunden, Tage, Wochen...
Nach dem Lesen des w3c Artikels bin ich allerdings auch nicht schlauer, ausser dass http://www.brains-n-brawn.com/default.aspx?vDir=aicaptcha interessant war.
Das w3c empfiehlt mir spam filter und heuritische Methoden... fuer normale Webseiten mag das ausreichen, fuer ein Spiel nicht.
Man gewoehnt sich als User daran und achtet nicht mehr darauf. Gerade bei einem Spiel, wo jeder Klick schon beinahe autmatisch ist.
Zudem cachen viele Browser auch mal falsch, vor allem Opera ist so ein Kandidat...
Und genau dieses "in die Falle laufen lassen" _ist_ doch aktives Bot bekaempfen. Und genau diese Versuche sind unmoeglich und sinnlos und fordern Botschreiber erst richtig heraus
Ich denke wer es schafft ueber ein Captcha und heuristische Methoden hinwegzukommen, der schafft es so grad noch checksums von den Seiten anzufertigen und denn bot nur weiterlaufen zu lassen, wenn diese stimmen (dynamischen Content kann man ja rausparsen).
Der Botschreiber hat mit grosser Sicherheit mehr Zeit seine Bots anzupassen, als der Developer nur in den Botschutz investieren kann. Und einen Bot anzupassen sind meist 2-3 Zeilen, ein Botschutz dauert Stunden, Tage, Wochen...
Nach dem Lesen des w3c Artikels bin ich allerdings auch nicht schlauer, ausser dass http://www.brains-n-brawn.com/default.aspx?vDir=aicaptcha interessant war.
Das w3c empfiehlt mir spam filter und heuritische Methoden... fuer normale Webseiten mag das ausreichen, fuer ein Spiel nicht.
gepostet vor 18 Jahre, 12 Monate von BuschnicK
Original von Kallisti
Schach ist meiner Meinung nach das "perfekte Spiel", da es eine riesige Zahl von Moeglichkeiten gibt, es total taktisch und komplex ist, obwohl doch gleichzeitig sehr simpel.
Korrekt. Gleichzeitig ist ein Schach Bot aber auch nontrivial und deshalb das beste Beispiel für mein Argument: Mach das Spiel einfach so komplex, dass das normale Scriptkiddy gar keien Chance zu scripten hat.
Original von Kallisti
Das Grundprinzip von Wettkampf ist Wettbewerb. Man eifert miteinander um die Wette, wer besser, schneller, staerker ist. Und _immer_ wenn du
Denkbar wären aber durchaus auch Spiele "Gemeinsam gegen den Rechner". Ohne Wettbewerb, trotzdem (oder deswegen?) schön. Beispiel dafür wäre WorldOfDungeons.
Original von Kallisti
S.o. - so kann man mit Content nicht hinterherkommen, das ist unmoeglich - gewisse Strukturen wiederholen sich immer. Und wenn man sooo viele und relevante Entscheidungen treffen muss, fuehrt das bei normalen Spielern auch zu viel Stress.
s.o.: Schach. Kaum Content. Gleichzeitig non-trivial einen Bot zu entwickeln.
Original von Kallisti
Nicht jeder moechte mit anderen Spielern kommunizieren und interagieren.
Naja, bis zu einem gewissen Grade ist doch gerade das aber Sinn von Browser-Games. Mal ehrlich - ohne die menschlichen Mitspieler und Konkurrenten - welches Browsergame würdest du offline, alleine auf deinem Rechner zocken?! Da gibt es weit bessere Angebote.
mfG,
Sören
gepostet vor 18 Jahre, 12 Monate von Kallisti
Klar interagiert man schon, aber oft in einer Form in der sich Bots nicht von Menschen unterscheiden (angriffe etc...) - es gibt viele, die nicht auf Nachrichten antworten.
Und klar, erfinde ein Spiel wie Schach - dann hast du mit Sicherheit ausgesorgt. :-)
Die User moegen das "bauen" Prinzip nunmal und bzw. zu siehen wie da "etwas waechst" - und das ist immer "botbar".
Und klar, erfinde ein Spiel wie Schach - dann hast du mit Sicherheit ausgesorgt. :-)
Die User moegen das "bauen" Prinzip nunmal und bzw. zu siehen wie da "etwas waechst" - und das ist immer "botbar".
gepostet vor 18 Jahre, 12 Monate von Mudder
Muss man mal in eine andere Richtung fragen..
Wozu werden Bots gebraucht? Zum Gebäudebau, wenn man nicht da ist. Für vorgeplante Angriffe Nachts und um zu schauen ob man angegriffen wird und man die Ressourcen in Sicherheit bringen muss.
Statt zu schauen wie man Bots vom Einloggen etc abhält sollten wir ehr schauen das man diese Punkte verstärkt..
Das man den Gebäudebau mittels Karten erweitert wo nen Bot z.B. erstmal ein freien Bauplatz suchen muss oder das Flottenbewegungen Sicherheitsabfragen benötigen...
Wozu werden Bots gebraucht? Zum Gebäudebau, wenn man nicht da ist. Für vorgeplante Angriffe Nachts und um zu schauen ob man angegriffen wird und man die Ressourcen in Sicherheit bringen muss.
Statt zu schauen wie man Bots vom Einloggen etc abhält sollten wir ehr schauen das man diese Punkte verstärkt..
Das man den Gebäudebau mittels Karten erweitert wo nen Bot z.B. erstmal ein freien Bauplatz suchen muss oder das Flottenbewegungen Sicherheitsabfragen benötigen...
gepostet vor 18 Jahre, 12 Monate von Kallisti
Allein schon Infos wie "Sonar" auszulesen liesse einen Angriffswarner / -alarm entstehen - das wesentliche ist das Login.
Bestaetigungen fuer Flottenbewegungen sind grausam nervig, dass wuerde ich echt niemandem zumuten.
Bauvorgaenge: den Part moechte ich gern einfach halten (zumindest momentan)...
Bringt mir also alles nichts...
Nur um es klar zu stellen: Ich wuerde mich sehr ueber eine non captcha Loesung freuen, sehe aber keine akzeptable.
Bestaetigungen fuer Flottenbewegungen sind grausam nervig, dass wuerde ich echt niemandem zumuten.
Bauvorgaenge: den Part moechte ich gern einfach halten (zumindest momentan)...
Bringt mir also alles nichts...
Nur um es klar zu stellen: Ich wuerde mich sehr ueber eine non captcha Loesung freuen, sehe aber keine akzeptable.
gepostet vor 18 Jahre, 12 Monate von KoMtuR
Man könnte dies mit den Buttons doch fortsetzen. Nehmen wir mal 15 Buttons in einem Form. Alle führen zu einer Adresse, nur mit unterschiedlichen Parametern (am einfachsten mit einer kleinen JS-Anweisung zu erledigen). Dann halt mit der Browsersprache(php, java, c/c++/c# oder what ever) ein stylesheet erstellen, welches halt nur diesen einen richtigen button einblendet. da nützt das iterative lesen der buttons in der form nicht wirklich was. EInzigstes manko sind halt wieder die user, die javascript deaktiviert haben. Aber ich bin immernoch der Ansicht, dass die heutigen Browsergames js vorraussetzen. Es ist wie mitn Zähne putzen. Ohne Zahnpasta gehts auch, aber es schmeckt halt nach nichts
gepostet vor 18 Jahre, 12 Monate von Kallisti
- Es ist absolutes Muss Kriterium, dass bei mir alles ohne js spielbar ist
- der Cache wird dein ganz grosser Feind sein...
- Trotzdem kann ein Bot das alles auslesen und auswerten
- aenderst du es regelmaessig, aendert der bot sich noch regelmaessiger
- der Cache wird dein ganz grosser Feind sein...
- Trotzdem kann ein Bot das alles auslesen und auswerten
- aenderst du es regelmaessig, aendert der bot sich noch regelmaessiger
gepostet vor 18 Jahre, 12 Monate von KoMtuR
- es kommt halt imemr auf den Betrachter an. Sicherlich wird man einem User JS nicht vorschreiben dürfen, aber willst du wirklich jeden scheiss im hintergrund berechnen?
-nein dank ajax nicht. das Javascript weiß nichtmal, welches der richtige button ist. das wird alles serverseitig gemanagt
-ich möchte mal ein bot sehen, der das auswerten kann, wenn da nur mist steht und es eine codierte urlabfrage (bestimmte parameter sind halt verschlüsselt) gibt
-regelmäßig klar. warum nicht. ein bissl mit random und schon ist soviel verwirrung da, dass der scripter die lust dran verliert. an so einer hürde würden sicherlich nicht gerade wenige scheitern. Den Zufall kann man ja leider nicht berechnen.
edit: Nochmal zu der Sache JS und Verbindlichkeit. Sicher werden manche meinen, dass sie JS auslassen. Es gibt im IE so ein Bereich "sichere Seite" (glaub so hieß das) und da kann man bestimmen, dass halt nur diese Seite JS benutzen darf. Jedes vernünftige Spiel hat Mindestanforderungen. Du brauchst eben auch für Computerspiele eine bestimmte Hardware, ob du willst oder nicht.
-nein dank ajax nicht. das Javascript weiß nichtmal, welches der richtige button ist. das wird alles serverseitig gemanagt
-ich möchte mal ein bot sehen, der das auswerten kann, wenn da nur mist steht und es eine codierte urlabfrage (bestimmte parameter sind halt verschlüsselt) gibt
-regelmäßig klar. warum nicht. ein bissl mit random und schon ist soviel verwirrung da, dass der scripter die lust dran verliert. an so einer hürde würden sicherlich nicht gerade wenige scheitern. Den Zufall kann man ja leider nicht berechnen.
edit: Nochmal zu der Sache JS und Verbindlichkeit. Sicher werden manche meinen, dass sie JS auslassen. Es gibt im IE so ein Bereich "sichere Seite" (glaub so hieß das) und da kann man bestimmen, dass halt nur diese Seite JS benutzen darf. Jedes vernünftige Spiel hat Mindestanforderungen. Du brauchst eben auch für Computerspiele eine bestimmte Hardware, ob du willst oder nicht.
gepostet vor 18 Jahre, 12 Monate von Kallisti
Ich habe aber den festen Vorsatz, dass javascript nur "add" ist. Mein Spiel bleibt Textbrowserfaehig (w3m und links2 koennen Grafiken im Framebuffermodus anzeigen. javascript kann w3m hingegen nicht und links2 nur eingeschraenkt). Wobei javascript natuerlich noch mehr Macken hat.. ein falsches Zeichen und die gesamte Seite geht nicht, das ist mir allein schon zu riskant. Zudem kenne ich einige Leute, die ganz ohne JS surfen und ich selbst habe es auch oft deaktiviert gehabt, weil das Internet dann direkt viel angenehmer ist / war.
Und erm.. Ajax ist mehr _clientseitig_ als serverseitig... und wie schon gesagt sind die xml files ja viel einfacher auszuwerten.
Ob das Javascript weiss, dass der Button stimmt oder nicht, ist doch scheissegal - der User muss es verstehen und wenn der es kann, kann es ein Bot auch. Denn auf dem Button steht "Bauen" oder "Zerstoeren" und nicht "Honolulu"... und das kann man einfach auslesen. Und wenn du mir jetzt mit komischen Javascriptkryptographiescripts wie in dummen Hackits kommst, um den Text unleserlich zu machen, fang ich an zu lachen... dann wirds naemlich echt albern.
Es ist relativ einfach Namensaenderungen einzuprogrammieren. Vor allem aenderst du ja nicht das Aussehen, so dass z.B. ein Autoit Bot voellig problemlos darum kommt. Der merkt _GAR NIX_ von dem Ganzen. Und es ist der einfachste moegliche Bot, da muss man naemlich erstmal gar nix fuer koennen... Wuerdest du das Aussehen aendern, vergraulst du dir deine User, denn Gewohnheiten sollte man nie unterschaetzen.
Und ich bezweifle, dass du das ganze regelmaessiger veraendern kannst, als es ein Botter anpassen kann.
Ich habe das ganze in Diablo II mitverfolgt, wo Scriptsprachen entwickelt wurden ueber die man dann mit Hilfe von Javascript seinen Charakter im Spiel steuern konnte. Blizzard hat mehrfach versucht etwas zu tun und ist daran aber gescheitert. Und das obwohl die z.B. den Speicher scannen konnten und das auch getan haben. Aber die Botentwickler sind ja nicht dumm... Grad veraenderungen sind so was von einfach zu bemerken.. man speichert sich einfach eine checksumtabelle der Seiten nachdem man dynamische Inhalte herausgeparst hat und vergleicht die checksum vor jeder Aktion. Gab es eine Aenderung, haelt der Bot an. Ein "random" ist immer irgendwie logisch. Das Spiel muss ja auch noch funktionieren.
Und wie gesagt, ein Developer eines Spiels hat mehr zu tun, als sein gesamtes Leben nur Botschutz zu bauen. Ein Botschreiber hingegen hat meist Schule / Uni und ansonsten Freizeit dafuer. Und wenn man sich einmal auf den Kampf einlaesst Bots fangen zu wollen, motiviert man den Botter nur richtig.
Am Anfang moechte er nur einen Vorteil im Spiel, spaeter wird das Bot schreiben selbst zum Spiel und zur Herausforderung, die viel forderner ist, als das Spiel selbst.
Haette ich nicht mein eigenes Spiel, das mir wichtiger ist, wuerde ich glaube ich auch in die Richtung arbeiten, einfach aus reinem Interesse an der Herausforderung und weil ich so etwas tierisch spannend finde. Die abusemoeglichkeiten sind mir relativ egal, ich wuerde es auch nicht unbedingt weiter verteilen ausser bei groben groben Adminschnitzern um einen Fix zu erzwingen und die Admins unter Druck zu setzen, wenn sie so nicht reagieren. Ich brauche keinen Ingame Vorteil um in einem Spiel erfolgreich zu sein, das schaffe ich durch beruflich bedingte Onilnezeiten schon von allein. Aber die Herausforderung einen Bot zu schreiben, der wirklich intelligent ist und etwas kann, ist nicht zu unterschaetzen. Vor allem die Herausforderung Bots dann gegeneinander antreten zu lassen. :-)
Und das ist alles nicht schwer und ordentlich 100% nicht zu erkennen. Die einzige wirkliche Huerde, die ich sehe, ist ein gutes Captcha, das gewisse Dinge beruecksichtigt. Die Failquote ist dann dermassen hoch, dass es zu sehr auffaellt.
Alles andere ist imho keinerlei Huerde.
Und erm.. Ajax ist mehr _clientseitig_ als serverseitig... und wie schon gesagt sind die xml files ja viel einfacher auszuwerten.
Ob das Javascript weiss, dass der Button stimmt oder nicht, ist doch scheissegal - der User muss es verstehen und wenn der es kann, kann es ein Bot auch. Denn auf dem Button steht "Bauen" oder "Zerstoeren" und nicht "Honolulu"... und das kann man einfach auslesen. Und wenn du mir jetzt mit komischen Javascriptkryptographiescripts wie in dummen Hackits kommst, um den Text unleserlich zu machen, fang ich an zu lachen... dann wirds naemlich echt albern.
Es ist relativ einfach Namensaenderungen einzuprogrammieren. Vor allem aenderst du ja nicht das Aussehen, so dass z.B. ein Autoit Bot voellig problemlos darum kommt. Der merkt _GAR NIX_ von dem Ganzen. Und es ist der einfachste moegliche Bot, da muss man naemlich erstmal gar nix fuer koennen... Wuerdest du das Aussehen aendern, vergraulst du dir deine User, denn Gewohnheiten sollte man nie unterschaetzen.
Und ich bezweifle, dass du das ganze regelmaessiger veraendern kannst, als es ein Botter anpassen kann.
Ich habe das ganze in Diablo II mitverfolgt, wo Scriptsprachen entwickelt wurden ueber die man dann mit Hilfe von Javascript seinen Charakter im Spiel steuern konnte. Blizzard hat mehrfach versucht etwas zu tun und ist daran aber gescheitert. Und das obwohl die z.B. den Speicher scannen konnten und das auch getan haben. Aber die Botentwickler sind ja nicht dumm... Grad veraenderungen sind so was von einfach zu bemerken.. man speichert sich einfach eine checksumtabelle der Seiten nachdem man dynamische Inhalte herausgeparst hat und vergleicht die checksum vor jeder Aktion. Gab es eine Aenderung, haelt der Bot an. Ein "random" ist immer irgendwie logisch. Das Spiel muss ja auch noch funktionieren.
Und wie gesagt, ein Developer eines Spiels hat mehr zu tun, als sein gesamtes Leben nur Botschutz zu bauen. Ein Botschreiber hingegen hat meist Schule / Uni und ansonsten Freizeit dafuer. Und wenn man sich einmal auf den Kampf einlaesst Bots fangen zu wollen, motiviert man den Botter nur richtig.
Am Anfang moechte er nur einen Vorteil im Spiel, spaeter wird das Bot schreiben selbst zum Spiel und zur Herausforderung, die viel forderner ist, als das Spiel selbst.
Haette ich nicht mein eigenes Spiel, das mir wichtiger ist, wuerde ich glaube ich auch in die Richtung arbeiten, einfach aus reinem Interesse an der Herausforderung und weil ich so etwas tierisch spannend finde. Die abusemoeglichkeiten sind mir relativ egal, ich wuerde es auch nicht unbedingt weiter verteilen ausser bei groben groben Adminschnitzern um einen Fix zu erzwingen und die Admins unter Druck zu setzen, wenn sie so nicht reagieren. Ich brauche keinen Ingame Vorteil um in einem Spiel erfolgreich zu sein, das schaffe ich durch beruflich bedingte Onilnezeiten schon von allein. Aber die Herausforderung einen Bot zu schreiben, der wirklich intelligent ist und etwas kann, ist nicht zu unterschaetzen. Vor allem die Herausforderung Bots dann gegeneinander antreten zu lassen. :-)
Und das ist alles nicht schwer und ordentlich 100% nicht zu erkennen. Die einzige wirkliche Huerde, die ich sehe, ist ein gutes Captcha, das gewisse Dinge beruecksichtigt. Die Failquote ist dann dermassen hoch, dass es zu sehr auffaellt.
Alles andere ist imho keinerlei Huerde.
gepostet vor 18 Jahre, 12 Monate von Mudder
Ich schliesse mich Komturs Meinung mit den Mindestanforderungen an, dass man ruhig mal Mindestanforderungen stellen kann. Jedes Spiel was Flash oder Java benötigt hat auch Mindestanforderungen und das obwohl man mit Java deutlich mehr scheisse bauen kann als mit JS..
Einfach aufgebaute BGs kommen sicher ohne JS aus andere nutzen JS nur als Feature um Abläufe zu optimieren.. doch je nach notwendigen Features wie z.B. Karten oder eben AJAX kann man JS genauso verlangen wie andere Spiele JAVA.
Wenn du dein Spiel soo sehr optimierst das man es auch auf nem WAP-Handy spielen spielen kann, dann Gratulation. Super Arbeit... Nur du wirst eben auch zustimmen müssen das du dadurch massig Sachen verkomplizierst bzw. du massig Dinge nicht einbauen kannst. Mir sind die 2 Leute welche per Handy oder PDA das BG aufrufen mehr oder weniger egal.. klar nett im Bus zu spielen aber den anderen 998 Usern deswegen nur Tabellenlayout zu präsentieren und Features zu verweigern finde ich "ungerecht".
Ich will dir das sicher nicht ausreden.. will einem Vegetarier auch nicht einreden das er Fleisch essen soll. Nur ich sag dir auch ganz ehrlich ich finds unsinnig! Und von daher finde ich es eben auch so ein wenig doof das du bei der Diskussion von vorn herrein sagst: "Nein JS darf man nicht verwenden, weil ich das ja nicht verwende". (
Ja so hast du das nie gesagt.. ich weiss! Doch wenn JS eine Möglichkeit bieten würde Bots zu verhindern, dann sollte man dies nicht von vorn herrein ausschliessen nur weil man 2 Leuten das Spielen per Handy ermöglichen möchte.
Einfach aufgebaute BGs kommen sicher ohne JS aus andere nutzen JS nur als Feature um Abläufe zu optimieren.. doch je nach notwendigen Features wie z.B. Karten oder eben AJAX kann man JS genauso verlangen wie andere Spiele JAVA.
Wenn du dein Spiel soo sehr optimierst das man es auch auf nem WAP-Handy spielen spielen kann, dann Gratulation. Super Arbeit... Nur du wirst eben auch zustimmen müssen das du dadurch massig Sachen verkomplizierst bzw. du massig Dinge nicht einbauen kannst. Mir sind die 2 Leute welche per Handy oder PDA das BG aufrufen mehr oder weniger egal.. klar nett im Bus zu spielen aber den anderen 998 Usern deswegen nur Tabellenlayout zu präsentieren und Features zu verweigern finde ich "ungerecht".
Ich will dir das sicher nicht ausreden.. will einem Vegetarier auch nicht einreden das er Fleisch essen soll. Nur ich sag dir auch ganz ehrlich ich finds unsinnig! Und von daher finde ich es eben auch so ein wenig doof das du bei der Diskussion von vorn herrein sagst: "Nein JS darf man nicht verwenden, weil ich das ja nicht verwende". (
Ja so hast du das nie gesagt.. ich weiss! Doch wenn JS eine Möglichkeit bieten würde Bots zu verhindern, dann sollte man dies nicht von vorn herrein ausschliessen nur weil man 2 Leuten das Spielen per Handy ermöglichen möchte.
gepostet vor 18 Jahre, 12 Monate von Kallisti
Ich sage das, weil ich selbst eine Loesung suche, die praktikabel ist. Und Javascript ist es meiner Meinung nach ganz klar nicht.
Der Hauptfokus meines Postings beruhte aber darauf zu erklaeren, dass eine Javascript Loesung keinerlei Vorteile bringt, ausser Probleme zu verursachen.
Ich wuerde einfach nie auf javascript vertrauen, ist nicht unbedingt eine Frage des Mediums auf dem es angezeigt wird, als eine generelle Abneigung gegenueber der Sprache als Tragpfeiler wichtiger Elemente.
Flash und Java als benoetigte Elemente lehne ich umso mehr ab. Gruende sind mannigfaltig, hat aber hier wenig verloren.
Man _kann_ natuerlich auf so etwas setzen, aber ich finde es voellig unmoeglich und es gibt sehr viele Leute, die kein Interesse an java / flashgames haben. Sieht man imho auch an der Verbreitung. Das liegt sicher nicht daran, dass alle Programmierer unfaehig sind.
Aber nichtsdestrotrotz verlagern all diese Medien das "Problem" lediglich und machen es dem Botcoder sicher nicht wesentlich schwieriger. Sie verschlingen nur Zeit und sorgen fuer viel Frust beim User.
Der Hauptfokus meines Postings beruhte aber darauf zu erklaeren, dass eine Javascript Loesung keinerlei Vorteile bringt, ausser Probleme zu verursachen.
Ich wuerde einfach nie auf javascript vertrauen, ist nicht unbedingt eine Frage des Mediums auf dem es angezeigt wird, als eine generelle Abneigung gegenueber der Sprache als Tragpfeiler wichtiger Elemente.
Flash und Java als benoetigte Elemente lehne ich umso mehr ab. Gruende sind mannigfaltig, hat aber hier wenig verloren.
Man _kann_ natuerlich auf so etwas setzen, aber ich finde es voellig unmoeglich und es gibt sehr viele Leute, die kein Interesse an java / flashgames haben. Sieht man imho auch an der Verbreitung. Das liegt sicher nicht daran, dass alle Programmierer unfaehig sind.
Aber nichtsdestrotrotz verlagern all diese Medien das "Problem" lediglich und machen es dem Botcoder sicher nicht wesentlich schwieriger. Sie verschlingen nur Zeit und sorgen fuer viel Frust beim User.
gepostet vor 18 Jahre, 12 Monate von The_Alien
Was Bots angeht so mache ich mir das einfach, in wie weit es effektiv ist weiß ich nicht.
Die eigentlichen GET & POST Daten sofern sie vorgegeben sind speicher ich in der Session unter einer Linknummer (buchstaben/zahlengemisch). Ausgeben tu ich dann halt immer nur diese id - also zb. allianzen.php?id=f47hs?pag=h37hj3.
Beim aufrufen der Seite werden die Daten dann wieder passend aus der Session geholt.
Bin gerade dabei das im ganzen Spiel ein zu bauen (hatte es vorher nur auf 2 Seiten genutzt).
Hinzu kommt das die Werfteinträge und solche sachen schonmal verschieben können.
Weiterhin werde ich nun (da Grafiken endlich funktionieren) alle Texte die für Bots wichtig sein können (Transverevents etc) als Bilder ausgeben.
Wichtige Buttons wie zb Schiffe versenden oder bauen etc. werden durch einfache Captcha's ersetzt.
Und die die übrig bleiben die das alles umgehen können den kann man auch mit weiteren Methoden nicht bei kommen. Denn man kann meiner Meinung nach alles aushebeln. Aber für den einfachen 13 Jährigen Script Kiddie der sich mit simplen sachen einen Bot baut dürft es kaum noch möglich sein einen zu bauen.
Um Multies zu finden bin ich ein Script am schreiben welches aus den Flotenlogs auch Transporte&angriffe über dritte etc findet. Hinzu kommt eine Cookieprüfung. Auch wird es immer perfecte Multies (2 Pc's,einer mit Proxy - dagegen ist man meiner Meinung machtlos) geben aber die einfachen zu finden reicht mir schon.
Die eigentlichen GET & POST Daten sofern sie vorgegeben sind speicher ich in der Session unter einer Linknummer (buchstaben/zahlengemisch). Ausgeben tu ich dann halt immer nur diese id - also zb. allianzen.php?id=f47hs?pag=h37hj3.
Beim aufrufen der Seite werden die Daten dann wieder passend aus der Session geholt.
Bin gerade dabei das im ganzen Spiel ein zu bauen (hatte es vorher nur auf 2 Seiten genutzt).
Hinzu kommt das die Werfteinträge und solche sachen schonmal verschieben können.
Weiterhin werde ich nun (da Grafiken endlich funktionieren) alle Texte die für Bots wichtig sein können (Transverevents etc) als Bilder ausgeben.
Wichtige Buttons wie zb Schiffe versenden oder bauen etc. werden durch einfache Captcha's ersetzt.
Und die die übrig bleiben die das alles umgehen können den kann man auch mit weiteren Methoden nicht bei kommen. Denn man kann meiner Meinung nach alles aushebeln. Aber für den einfachen 13 Jährigen Script Kiddie der sich mit simplen sachen einen Bot baut dürft es kaum noch möglich sein einen zu bauen.
Um Multies zu finden bin ich ein Script am schreiben welches aus den Flotenlogs auch Transporte&angriffe über dritte etc findet. Hinzu kommt eine Cookieprüfung. Auch wird es immer perfecte Multies (2 Pc's,einer mit Proxy - dagegen ist man meiner Meinung machtlos) geben aber die einfachen zu finden reicht mir schon.
gepostet vor 18 Jahre, 12 Monate von Kallisti
Also wenn das Posting ernst gemeint und kein Sarkamus ist, dann weiss ich nicht so genau ob ich lauthals lachen oder verzweifelt weinen soll. Grausam.
Ich glaube kaum, dass normale Anweder (neben deiner Serverhardware) so einen Schwachsinn mitmachen. Wenn doch, tun sie mir umso mehr leid.
Mit Botschutz hat das nichts mehr zu tun, das ist nur noch krank.
Und es hilft dennoch nichts. Google mal nach Autoit und erklaere mir dann den Sinn dieser ganzen Idiotie.
Das einzig hilfreiche dagegen ist captcha und das kann man eben dem normalen Anwender nicht staendig zumuten.
Einfache Scriptkiddies hindert das Captcha beim Login bereits. Alles was darueber hinausgeht, motiviert die Botschreiber doch nur.
Ich glaube kaum, dass normale Anweder (neben deiner Serverhardware) so einen Schwachsinn mitmachen. Wenn doch, tun sie mir umso mehr leid.
Mit Botschutz hat das nichts mehr zu tun, das ist nur noch krank.
Und es hilft dennoch nichts. Google mal nach Autoit und erklaere mir dann den Sinn dieser ganzen Idiotie.
Das einzig hilfreiche dagegen ist captcha und das kann man eben dem normalen Anwender nicht staendig zumuten.
Einfache Scriptkiddies hindert das Captcha beim Login bereits. Alles was darueber hinausgeht, motiviert die Botschreiber doch nur.
gepostet vor 18 Jahre, 12 Monate von TheUndeadable
Wenn die Sache funktioniert, spricht meiner Meinung nach nichts gegen eine solche Verschleierung. Nur muss man aufpassen, dass es zu keinerlei Problemen kommt, ansonsten hast du danach mehr Arbeit mit deinen Skripten, wie durch die Bots.
Der normale Anwender bemerkt bei guter Programmierung nichts von der (meiner Meinung nach auch übertriebene) Verschleierung, daher sollte es daher kein Problem geben.
Negativ finde ich aber auf jeden Fall, wenn man Texte durch Bilder austauscht, da man hin und wieder mal diese kopieren möchte oder durch einen Screenreader vorlesen lassen möchte (Sehbehinderte). Und um einen 13 jährigen Botprogrammierer zu beschäftigen, reicht ein variables Login mit Response-Challange-Keys (Captchas zähle ich mal dazu).
Wie schon geschrieben: Ich würde einfach hin und wieder mal die technische Struktur leicht verändern und dann schauen, ob sich das Verhalten mancher User massiv ändert oder gar manche in einen Honey-Pot laufen. Das Problem des Caching vom Opera kann man durch veränderte Dateinamen leicht umgehen.
Der normale Anwender bemerkt bei guter Programmierung nichts von der (meiner Meinung nach auch übertriebene) Verschleierung, daher sollte es daher kein Problem geben.
Negativ finde ich aber auf jeden Fall, wenn man Texte durch Bilder austauscht, da man hin und wieder mal diese kopieren möchte oder durch einen Screenreader vorlesen lassen möchte (Sehbehinderte). Und um einen 13 jährigen Botprogrammierer zu beschäftigen, reicht ein variables Login mit Response-Challange-Keys (Captchas zähle ich mal dazu).
Wie schon geschrieben: Ich würde einfach hin und wieder mal die technische Struktur leicht verändern und dann schauen, ob sich das Verhalten mancher User massiv ändert oder gar manche in einen Honey-Pot laufen. Das Problem des Caching vom Opera kann man durch veränderte Dateinamen leicht umgehen.
gepostet vor 18 Jahre, 12 Monate von Mudder
Irgendwo muss ich Kallisti da mal zustimmen (was in letzter Zeit nicht oft vorkam). Doch solch ein System ist da irgendwo doch zu umfassend.
Aber ich hab da nun doch nochmal ne Frage zu der Arbeitsweise der Bots.. wie arbeiten die wirklich, zumindest der überwiegend herschende Bottype (Baubots, Savebots, etc).
Füllen die selbsttätig Formularfelder welche sich auf ner Homepage befindet oder lesen die die Seite aus und schicken dann eine selbsterstellte POST/GET Abfrage zum Server was sie dann auswerten bzw. womit sie Aktionen ausführen.
Und zu den Captchas.. wie wäre es z.B. mal mit dynamisch wechselnden Captachs.. mal nen Textcaptcha, mal nen Kreissystem.. nen einfachen User wirds nich stören aber die Bots müssen so mehrere Systeme erlernen.
Evtl. auch mal neue Captcha-Methoden.. Man zeigt z.B. nen Bild mit ner Ente und User muss eingeben was auf dem Bild ist. Oder Fragen/Matheaufgaben per Bild.. "Wieviel Reifen hat ein Fahrrad" = Zwei bzw. 2 usw.. ist sicher etwas arbeit ein Fragen/Bilderkatalog zu erstellen aber ein Bild zu identifizieren (was vom Koordinatensystem evtl. auch immer schwankt, dürfte im Gegensatz zu ne Textidentifizierung eindeutig schwerer werden.
Aber ich hab da nun doch nochmal ne Frage zu der Arbeitsweise der Bots.. wie arbeiten die wirklich, zumindest der überwiegend herschende Bottype (Baubots, Savebots, etc).
Füllen die selbsttätig Formularfelder welche sich auf ner Homepage befindet oder lesen die die Seite aus und schicken dann eine selbsterstellte POST/GET Abfrage zum Server was sie dann auswerten bzw. womit sie Aktionen ausführen.
Und zu den Captchas.. wie wäre es z.B. mal mit dynamisch wechselnden Captachs.. mal nen Textcaptcha, mal nen Kreissystem.. nen einfachen User wirds nich stören aber die Bots müssen so mehrere Systeme erlernen.
Evtl. auch mal neue Captcha-Methoden.. Man zeigt z.B. nen Bild mit ner Ente und User muss eingeben was auf dem Bild ist. Oder Fragen/Matheaufgaben per Bild.. "Wieviel Reifen hat ein Fahrrad" = Zwei bzw. 2 usw.. ist sicher etwas arbeit ein Fragen/Bilderkatalog zu erstellen aber ein Bild zu identifizieren (was vom Koordinatensystem evtl. auch immer schwankt, dürfte im Gegensatz zu ne Textidentifizierung eindeutig schwerer werden.
gepostet vor 18 Jahre, 12 Monate von Kallisti
Es gibt mind. 3 Moeglichkeiten.
1. Komplett selbstgeschrieben.
Du schickst normale HTTP Anfragen zum Server, wertest die Antworten aus und verzweigst entsprechend weiter in andere Kategorien (mit Referer, Cookies usw, alles kein Thema, das automatisieren gewisse Module und Bibliotheken ja fuer dich).
Wenn das schlecht umgesetzt ist, ist es leicht erkennbar, wenn es gut umgesetzt ist, ist es aber mit Abstand die maechtigste Loesung, da man _alles_ machen kann - und noch viel mehr. Vor allem Dinge, die ueber den Browser hinausgehen.
2. Direkte Browsersteuerung.
Das hatte Undeadable beschrieben. Wie man IE / FX direkt extern steuert. Auch eine Moeglichkeit, erleichtert das "Tarnen" natuerlich ungemein.
3. Indirekte Browsersteuerung.
Der Browser merkt da selbst gar nichts von. Du steuerst nur die Maus und die Tastatur und liest den Bildschirm aus. Mit Autoit ist das supersupereinfach. Darin wurde anfangs auch die Haelfte der z.B. Diablo 2 Bots geschrieben. Eigentlich hat die Sprache aber nichts mit Botting / Abusing zu tun, also dem Entwickler keinen Vorwurf machen.
Der groesste Vorteil ist, dass es 1. kinderleicht ist, da man nur Anwenderablaeufe automatisiert und es 2. 100% nicht erkennbar ist. Selbst mit Memoryscans (um auf das Diablo 2 Beispiel zureckzukommen), kann man es nicht 100% nachweisen, da es ja nicht wie andere Cheates den Programmspeicher selbst modifiziert
Jedoch denke ich, dass die Captcha Huerde hier noch die groesste ist. Ansonsten alles kein Thema, man kann locker bestimmt pixelfarben auslesen, vergleichen etc. Es ist eben sehr Aufloesungsspezifisch und haengt von Positionen ab, aber das ist ein gewohnter Anwender ebenso.
Kurz kann man aber sagen, dass all diese Javascript- / Umbenennungs- / Verschleierungstaktiken nichts als laecherliche "Security bei Obscurity" sind und keinerlei positien Effekt mit sich bringen, sondern Botentwickler nur vor eine Herausforderung stellen.
Wechselnde Captchas verwirren Anwender viel mehr als Bots, die filtern das ja automatisch aus.
Solche Datenbankraetsel scheitern an der mangelnden Vielfalt. Du baust dir einen Lernmodus, bringst dem Bot fix die Bilder bei und fertig. Da kommst du mit deiner Datenbank nicht hinterher, das lernen geht schneller.
1. Komplett selbstgeschrieben.
Du schickst normale HTTP Anfragen zum Server, wertest die Antworten aus und verzweigst entsprechend weiter in andere Kategorien (mit Referer, Cookies usw, alles kein Thema, das automatisieren gewisse Module und Bibliotheken ja fuer dich).
Wenn das schlecht umgesetzt ist, ist es leicht erkennbar, wenn es gut umgesetzt ist, ist es aber mit Abstand die maechtigste Loesung, da man _alles_ machen kann - und noch viel mehr. Vor allem Dinge, die ueber den Browser hinausgehen.
2. Direkte Browsersteuerung.
Das hatte Undeadable beschrieben. Wie man IE / FX direkt extern steuert. Auch eine Moeglichkeit, erleichtert das "Tarnen" natuerlich ungemein.
3. Indirekte Browsersteuerung.
Der Browser merkt da selbst gar nichts von. Du steuerst nur die Maus und die Tastatur und liest den Bildschirm aus. Mit Autoit ist das supersupereinfach. Darin wurde anfangs auch die Haelfte der z.B. Diablo 2 Bots geschrieben. Eigentlich hat die Sprache aber nichts mit Botting / Abusing zu tun, also dem Entwickler keinen Vorwurf machen.
Der groesste Vorteil ist, dass es 1. kinderleicht ist, da man nur Anwenderablaeufe automatisiert und es 2. 100% nicht erkennbar ist. Selbst mit Memoryscans (um auf das Diablo 2 Beispiel zureckzukommen), kann man es nicht 100% nachweisen, da es ja nicht wie andere Cheates den Programmspeicher selbst modifiziert
Jedoch denke ich, dass die Captcha Huerde hier noch die groesste ist. Ansonsten alles kein Thema, man kann locker bestimmt pixelfarben auslesen, vergleichen etc. Es ist eben sehr Aufloesungsspezifisch und haengt von Positionen ab, aber das ist ein gewohnter Anwender ebenso.
Kurz kann man aber sagen, dass all diese Javascript- / Umbenennungs- / Verschleierungstaktiken nichts als laecherliche "Security bei Obscurity" sind und keinerlei positien Effekt mit sich bringen, sondern Botentwickler nur vor eine Herausforderung stellen.
Wechselnde Captchas verwirren Anwender viel mehr als Bots, die filtern das ja automatisch aus.
Solche Datenbankraetsel scheitern an der mangelnden Vielfalt. Du baust dir einen Lernmodus, bringst dem Bot fix die Bilder bei und fertig. Da kommst du mit deiner Datenbank nicht hinterher, das lernen geht schneller.
gepostet vor 18 Jahre, 12 Monate von TheUndeadable
Ich kenn mehrere Bots, die entweder jeweils über die Formularausgabe oder direkt über HTTP funktionieren. Die meisten in VB zusammengeschrieben.
EDIT: Sehe gerade, dass Kallisti schon geantwortet hat ;-)
EDIT: Sehe gerade, dass Kallisti schon geantwortet hat ;-)
gepostet vor 18 Jahre, 12 Monate von Mudder
Klar kann man sich alle Bilder speichern aber spätestens wenn du selbe Transform-Methoden wie bei den Text-Captchas verwendest dürfte das sehr dynamisch werden..
und ich meine mit ein Ente auch mehrere Bilder
http://www.4games.de/ente/ente1.jpg
http://www.4games.de/ente/ente2.jpg
http://www.4games.de/ente/ente3.jpg
http://www.4games.de/ente/ente4.jpg
http://www.4games.de/ente/ente5.jpg
Nen Bildbearbeitungsscript und du transfomierst ein Orginalbild in 50 Varianten..
Und ich muss nun doch nochmal an dir (Kallisti) rumnörgeln. Alle Ideen die hier vorgebracht werden sind zumindest deiner Ansicht nach "Unnütz", "Blödsinn", bringen nur ärger wegen Cachefunktion der User und können von jedem Bot umgangen werden.
Dann schlag du doch mal was vor..
Und klar alles kann von Bots umgangen werden! Nur ist es eben nen Unterschied ob man nur "Profis" als Botuser hat oder auch die 13jährigen Kiddies welche sich nen Bot aus irgend nem Forum runterladen. Klar.. kommt man mit so ner Bildmethode wird sie irgendwann geknackt sein - genauso wie normale Captchas. Aber wenn sie nen halbes Jahr die große Botflut aufhält, ist das ganze nicht unnütz!
und ich meine mit ein Ente auch mehrere Bilder
http://www.4games.de/ente/ente1.jpg
http://www.4games.de/ente/ente2.jpg
http://www.4games.de/ente/ente3.jpg
http://www.4games.de/ente/ente4.jpg
http://www.4games.de/ente/ente5.jpg
Nen Bildbearbeitungsscript und du transfomierst ein Orginalbild in 50 Varianten..
Und ich muss nun doch nochmal an dir (Kallisti) rumnörgeln. Alle Ideen die hier vorgebracht werden sind zumindest deiner Ansicht nach "Unnütz", "Blödsinn", bringen nur ärger wegen Cachefunktion der User und können von jedem Bot umgangen werden.
Dann schlag du doch mal was vor..
Und klar alles kann von Bots umgangen werden! Nur ist es eben nen Unterschied ob man nur "Profis" als Botuser hat oder auch die 13jährigen Kiddies welche sich nen Bot aus irgend nem Forum runterladen. Klar.. kommt man mit so ner Bildmethode wird sie irgendwann geknackt sein - genauso wie normale Captchas. Aber wenn sie nen halbes Jahr die große Botflut aufhält, ist das ganze nicht unnütz!
gepostet vor 18 Jahre, 12 Monate von Kallisti
Ja, es wird alles "abgelehnt". Und nein, ich kann nichts vorschlagen, weil ich selbst nichts besseres weiss. Gaebe es einen Weg, er wuerde tausende gluecklich machen, aber es gibt nunmal keinen.
Und ich sehe es wirklich nicht ein, die Huerden irrsinnig hoch anzusetzen und damit die eigenen Anwender am meisten zu treffen.
ich habe auch nichts gegen innovative Captchas. Aber alle "breaking the captcha" oder aehnlich Artikel, die im auf Seite 2 oder so geposteten w3c Artikel verlinkt sind, sagen eindeutig, dass das schwierigste zu knackende, aber dennoch einfachste und am wenigsten aufwendigste eine Loesung mit wrapped Text ist. Der vor allem random gedreht ist (bei einigen buchstaben und zeichen), gewisse Farbkontraste in beide Richtungen zum hintergrund aufweist etc.
Ich habe nicht vor irgendetwas schlecht zu reden oder so, ich suche selbst nur die perfekte Loesung.
Und es ist nunmal so, dass diese Obscurity Verfahren Bloedsinn sind. )
Alles was vorgeschlagen wurde, schafft jemand, der ernsthaft captchas knackt, voellig, aber voellig problemlos. Es ist nur mehr Arbeit fuer den Developer, nicht fuer den Botschreiber. Und es verursacht Probleme beim Anwender und das ist doch das letzte, was wir alle wollen.
Imho ist ein _gutes_ Captcha dennoch weiterhin der beste Schutz, und vor allem der einzig noetige. Das einzig negative, das Problem der Accessibility, loest keiner eurer Vorschlaege. Sie verschlimmern es nur umso mehr.
Und ich sehe es wirklich nicht ein, die Huerden irrsinnig hoch anzusetzen und damit die eigenen Anwender am meisten zu treffen.
ich habe auch nichts gegen innovative Captchas. Aber alle "breaking the captcha" oder aehnlich Artikel, die im auf Seite 2 oder so geposteten w3c Artikel verlinkt sind, sagen eindeutig, dass das schwierigste zu knackende, aber dennoch einfachste und am wenigsten aufwendigste eine Loesung mit wrapped Text ist. Der vor allem random gedreht ist (bei einigen buchstaben und zeichen), gewisse Farbkontraste in beide Richtungen zum hintergrund aufweist etc.
Ich habe nicht vor irgendetwas schlecht zu reden oder so, ich suche selbst nur die perfekte Loesung.
Und es ist nunmal so, dass diese Obscurity Verfahren Bloedsinn sind. )
Alles was vorgeschlagen wurde, schafft jemand, der ernsthaft captchas knackt, voellig, aber voellig problemlos. Es ist nur mehr Arbeit fuer den Developer, nicht fuer den Botschreiber. Und es verursacht Probleme beim Anwender und das ist doch das letzte, was wir alle wollen.
Imho ist ein _gutes_ Captcha dennoch weiterhin der beste Schutz, und vor allem der einzig noetige. Das einzig negative, das Problem der Accessibility, loest keiner eurer Vorschlaege. Sie verschlimmern es nur umso mehr.
gepostet vor 18 Jahre, 12 Monate von KoMtuR
Original von Kallisti
Wobei javascript natuerlich noch mehr Macken hat.. ein falsches Zeichen und die gesamte Seite geht nicht, das ist mir allein schon zu riskant.
Ein falsches Zeichen in einem richtigen Spiel(Pc-Game, Konsolenspiel und was weiß ich noch) und dein Spiel geht genauso wenig. Noch viel Schlimmer. Du machst dein System in Gewissen situationen instabil (aber was erklär ich dir das. das weißte sicherlich selber).
Und erm.. Ajax ist mehr _clientseitig_ als serverseitig... und wie schon gesagt sind die xml files ja viel einfacher auszuwerten.
Genau das ist halt der Punkt, wo die meisten diese Idee verwerfen. Es gibt halt immer die Situation. Ists ein Bot, der auf einem eigenen Browser läuft (oder implementierten IE) oder ein reiner Konsolenbot.
Bei einem Browserbot kann man dies leicht verhindern, dass man einmal eine Abfrage kommen lässt und dann die nötigen Infos löscht. Heißt auf deutsch: die bestimmten css-daten werden in der Session gespeichert. Ruft das Ajax-Script nun irgendeine bestimmte Seite auf, um diese Infos zu erhalten, werden die danach in der Session gelöscht. Wenn dann noch ein Aufruf kommen würde, dann würden neue Daten generiert werden, die dann sicherlich nicht zu dem Richtigen passen. (Vorrausgesetzt ist, dass der User schon Js angeschaltet haben muss, um überhaupt die Html-Seite zu sehen)
Dies wäre aber wieder das Problem der Konsolenbots. die könnten das ja ganz einfach rausbekommen. Aber in Kombination mit diesen Bildchen haben die dann sichelrich wieder nen Nachteil.
Ob das Javascript weiss, dass der Button stimmt oder nicht, ist doch scheissegal - der User muss es verstehen und wenn der es kann, kann es ein Bot auch. Denn auf dem Button steht "Bauen" oder "Zerstoeren" und nicht "Honolulu"... und das kann man einfach auslesen. Und wenn du mir jetzt mit komischen Javascriptkryptographiescripts wie in dummen Hackits kommst, um den Text unleserlich zu machen, fang ich an zu lachen... dann wirds naemlich echt albern.
Naja wer versucht wirklich die Javascripte mit Obfuscator oder ähnlichem zu versehen...naja. Aber darauf wollte ich nicht hinaus. Ich glaube du hast meine Idee noch nicht richtig verstanden gehabt, was die Buttons betrifft.
Beispiel:
Das Login hat normalerweise nen Loginbutton (logisch). Im htmlcode stehen nun meinetwegen 5 Buttons, welche das Login ermöglichen.- Alle tragen nun natürlich die gleiche Beschriftung (sonst könnte man es auch gleich lassen). Nun haben die 5 Buttons unterschiedliche Styles (ob per css oder per javascript vergeben ist mal wurst). Der User (also der Brave) sieht nur immer ein Button, was eben wegen den Styles so vorbestimmt ist. Der Bot, der aber den Quellcode sieht (ka, inwieweit man auf das Dom-Modell im IE zugreifen kann), hat da 5 Buttons. 5 Buttons mit 5 Zielen.
Ich habe das ganze in Diablo II mitverfolgt, wo Scriptsprachen entwickelt wurden ueber die man dann mit Hilfe von Javascript seinen Charakter im Spiel steuern konnte. Blizzard hat mehrfach versucht etwas zu tun und ist daran aber gescheitert. Und das obwohl die z.B. den Speicher scannen konnten und das auch getan haben. Aber die Botentwickler sind ja nicht dumm... Grad veraenderungen sind so was von einfach zu bemerken.. man speichert sich einfach eine checksumtabelle der Seiten nachdem man dynamische Inhalte herausgeparst hat und vergleicht die checksum vor jeder Aktion. Gab es eine Aenderung, haelt der Bot an. Ein "random" ist immer irgendwie logisch. Das Spiel muss ja auch noch funktionieren.
Naja ein Browsergame kannste nicht mit Diablo vergleichen. Da gings um Geld. Die Leute wollten doch nur Kohle machen mit der verkauften Items.
Edit: Ich häte mir mal autoIt genauer ansehen sollen, aber dies kann man auch irgendwie beheben sicherlich.
gepostet vor 18 Jahre, 12 Monate von Kallisti
Nein, bei den Botentwicklern ging es urspruenglich jedem nur um die Programmiertechnische Erfahrung. Wer Geld machen wollte, hatte effektivere Methoden (dupes etc). Ein Botentwickler (njaguar von d2jsp) hat es dann auf paypal Zahlbasis geaendert und damit wohl auch gut verdient, wenn man sich die donor Listen ansieht. Aber im Grunde kamen die meisten Dinge und Entwicklungen nur aus der Herausforderung.
Ist ja wie bei Warez / Cracks. Der Szene geht es um den Vorgang, nicht um das Resultat, das spaeter abused wird.
Der Vergleich ist also imho schon sehr angebracht.
Ein Browser ist auch nur ein Programm und wie gesagt, es gibt mind. 3 Arten von Bots. Und du kannst alles auswerten und analysieren.
Auch css und javascript Code... Und dann baust du so eine Sache einmal ein, sie wird einmal geknackt. Was machst du dann? Baust es wieder ein.. hinter jeder obfuscating Loesung steckt ein Algorithmus, der geknackt werden kann. Es muss ja eben auch noch normal nutzbar bleiben.
Naja gut, wenn ihr meint euch den Aufwand machen zu muessen und damit Erfolg zu haben - bitte, verschwendet eure Zeit... Ich werd mir das nicht antun.
Und ja, ich denke ich kann gerade dieses "Oh der Admin spielt das Spielchen mit" bei den Botentwicklern nachvollziehen, da ich ja selbst ein wenig in die Richtung geschielt habe. Bots sind technisch wirklich spannend... Vor allem bei so kleinen Huerden, das ist wie customized "hackits".
Ist ja wie bei Warez / Cracks. Der Szene geht es um den Vorgang, nicht um das Resultat, das spaeter abused wird.
Der Vergleich ist also imho schon sehr angebracht.
Ein Browser ist auch nur ein Programm und wie gesagt, es gibt mind. 3 Arten von Bots. Und du kannst alles auswerten und analysieren.
Auch css und javascript Code... Und dann baust du so eine Sache einmal ein, sie wird einmal geknackt. Was machst du dann? Baust es wieder ein.. hinter jeder obfuscating Loesung steckt ein Algorithmus, der geknackt werden kann. Es muss ja eben auch noch normal nutzbar bleiben.
Naja gut, wenn ihr meint euch den Aufwand machen zu muessen und damit Erfolg zu haben - bitte, verschwendet eure Zeit... Ich werd mir das nicht antun.
Und ja, ich denke ich kann gerade dieses "Oh der Admin spielt das Spielchen mit" bei den Botentwicklern nachvollziehen, da ich ja selbst ein wenig in die Richtung geschielt habe. Bots sind technisch wirklich spannend... Vor allem bei so kleinen Huerden, das ist wie customized "hackits".
gepostet vor 18 Jahre, 12 Monate von Mudder
Die Regierung legalisiert Drogen wie Kokain, damit die Dealer und "Importeure" nicht mehr illegal arbeiten sollen.
Ergebniss.. die Dealer und Nutzer haben keine Bestrafung mehr zu fürchten und da man nun frei rankommt werde es viel mehr Leute nehmen!
Ergebniss.. die Dealer und Nutzer haben keine Bestrafung mehr zu fürchten und da man nun frei rankommt werde es viel mehr Leute nehmen!
gepostet vor 18 Jahre, 12 Monate von Kallisti
Total Bloedsinniger und hinkender Vergleich :-)
Blizzards Vorgehen das gesamte UI in WoW freizugeben, so dass dort beliebig legal gescriptet wird (in LUA, eine Programmiersprache, die dafuer von Blizzard extra angepasst wurde) war z.B. auch sehr vorteilhaft. So werden die meisten Entwickler auf Trab gehalten und haben eine Beschaeftigung, statt Bots zu schreiben. Wenn man den Leuten ein Interface bietet, ihre Programmierkuenste zu beweisen, dann tun sie das meist eher als es auf illegale Art zu tun.
Klar gibts die Bots da auch, das Ausmass und die Perfektion sind aber in keinster Weise mit Diablo 2 Zeiten vergleichbar.
Ich sage dass eine Grundschutzvorrichtung sicher sinnvoll ist, aber security by obscurity nunmal voelliger Schwachsinn ist (was die Vergangenheit allgemein oft genug bewiesen hat) und nur Zeit und Ressourcen verschwendet, die man sinnvoller anbringen kann.
Es macht keinen Sinn einen "Schutz" zu implementieren, der den normalen User hindert, fuer einen Bot Entwickler, der die erste Huerde (Captcha) nehmen kann aber ein keinerlei Problem darstellt.
Blizzards Vorgehen das gesamte UI in WoW freizugeben, so dass dort beliebig legal gescriptet wird (in LUA, eine Programmiersprache, die dafuer von Blizzard extra angepasst wurde) war z.B. auch sehr vorteilhaft. So werden die meisten Entwickler auf Trab gehalten und haben eine Beschaeftigung, statt Bots zu schreiben. Wenn man den Leuten ein Interface bietet, ihre Programmierkuenste zu beweisen, dann tun sie das meist eher als es auf illegale Art zu tun.
Klar gibts die Bots da auch, das Ausmass und die Perfektion sind aber in keinster Weise mit Diablo 2 Zeiten vergleichbar.
Ich sage dass eine Grundschutzvorrichtung sicher sinnvoll ist, aber security by obscurity nunmal voelliger Schwachsinn ist (was die Vergangenheit allgemein oft genug bewiesen hat) und nur Zeit und Ressourcen verschwendet, die man sinnvoller anbringen kann.
Es macht keinen Sinn einen "Schutz" zu implementieren, der den normalen User hindert, fuer einen Bot Entwickler, der die erste Huerde (Captcha) nehmen kann aber ein keinerlei Problem darstellt.
gepostet vor 18 Jahre, 12 Monate von Crafty-Catcher
Kurze Frage zu Captchas.
Gibts eigentlich Captachas die ein Bild Anzeigen z.B. "Maus", "Katze", "Hund" und dann Buttons anbieten für was ist abgebildet?
(Das ist unsicher solange man wenig Bilder hat die Bilder nicht verdreht werden und nicht mit anderen Halbtransparenten Mustern überlagert werden usw.)
Edit:
*auf den Post hierdrunter schiel*
stimmt da habe ich was überlesen ... Ihr schreibt einfach zu schnell da kommt ja keiner mehr mit
Nunja Frage steht trotzdem hat das schon wer produktiv im Einsatz?
Gibts eigentlich Captachas die ein Bild Anzeigen z.B. "Maus", "Katze", "Hund" und dann Buttons anbieten für was ist abgebildet?
(Das ist unsicher solange man wenig Bilder hat die Bilder nicht verdreht werden und nicht mit anderen Halbtransparenten Mustern überlagert werden usw.)
Edit:
*auf den Post hierdrunter schiel*
stimmt da habe ich was überlesen ... Ihr schreibt einfach zu schnell da kommt ja keiner mehr mit
Nunja Frage steht trotzdem hat das schon wer produktiv im Einsatz?
gepostet vor 18 Jahre, 12 Monate von Mudder
Hatte ich sowas nicht ein paar Posts vorher vorgeschlagen?
gepostet vor 18 Jahre, 12 Monate von TheUndeadable
In einem Punkt gebe ich Kallisti recht:
Ich würde ein Xml-Webservice aufbauen, über den man Funktionen automatisieren kann. Diese würde ich dann mit einem Aktionskonto verrechnen, so dass der Programmierer gezwungen ist die Zahl der Aktionen zu minimieren. Dadurch wird er auch gefördert und hat nicht unbedingt den Zwang einen 'illegalen' Bot zu erschaffen, der den Server mehr belastet als nötig.
Ich würde ein Xml-Webservice aufbauen, über den man Funktionen automatisieren kann. Diese würde ich dann mit einem Aktionskonto verrechnen, so dass der Programmierer gezwungen ist die Zahl der Aktionen zu minimieren. Dadurch wird er auch gefördert und hat nicht unbedingt den Zwang einen 'illegalen' Bot zu erschaffen, der den Server mehr belastet als nötig.
gepostet vor 18 Jahre, 12 Monate von The_Alien
Original von Kallisti
Also wenn das Posting ernst gemeint und kein Sarkamus ist, dann weiss ich nicht so genau ob ich lauthals lachen oder verzweifelt weinen soll. Grausam.
...
Bevor es dich emotional zu sehr belastet erklär ich das nochmal etwas genauer
Also - die Captchas welche die Formulardaten absenden sind Anklickfelder so wie hier beim abstimmen - nur etwas größer und einfacher zu erkennen. Davon wird es beim login, beim Schiffebauen und Schiffeversenden eines geben. Und das anklicken sollte nicht viel aufwendiger sein wie ein Button zu drücken
Das mit den Links hat einen anderen grundsinn. Die Kartendaten mit den einzelnen Feldern gebe ich (mal noch) als Text aus. Bald werden jeweils die Namen und Allianzen als Grafik ausgegeben. aber da diese auch verlinkt sind könnte man beim auslesen der Seite anhand des Links die Daten bekommen (früher war es dann user=Spielername oder Allianz=Allianzid). Diese Daten werden gerne ausgelesen um inaktive zu finden so wie Feindliche Stationen etc.
Mein erstes Php Script war ein solches was innerhalb 3 Sekunden eine ganze Galaxie in GW ausgelesen hat welches prima zum suchen des Feindes und erstellen von inaktivlisten war.
Um das zu vermeiden ersetze ich die sachen durch Grafiken und verschlüßelte links.
Als Grafiken werden auch die ankunftszeiten von angreifenden Schiffen ausgegeben um somit das bauen von Savebots zu erschweren.
Das wars schon fast und ich glaube nicht das es die User (die bis auf die Captcha's nichts davon mitbekommen sollten) zu sehr stört oder den Server zu sehr belastet. Aber um einfache Bots zu stören sollte es reichen. Die "Profils" bekommen das alles hin - das ist mir klar aber viele werden da schon dranne scheitern.
gepostet vor 18 Jahre, 12 Monate von Kallisti
Und was ist das Resultat?
Barrierefreiheit = 0
Copy & Paste = 0
Traffic = weit hoeher
Ladezeiten = weit hoeher
Serverlast = weit hoeher
Und Leute, die ein Captcha knacken koennen, koennen das auch weiterhin, Leute die kein Captcha knacken koennen, kommen ueber den Login nicht weg.
Daher die Frage:
WIESO?!
Barrierefreiheit = 0
Copy & Paste = 0
Traffic = weit hoeher
Ladezeiten = weit hoeher
Serverlast = weit hoeher
Und Leute, die ein Captcha knacken koennen, koennen das auch weiterhin, Leute die kein Captcha knacken koennen, kommen ueber den Login nicht weg.
Daher die Frage:
WIESO?!
gepostet vor 18 Jahre, 12 Monate von Klaus
ein Captcha beim Login und dann jede Stunde ausloggen. Das sollte ein gesundes Mittelmaß sein um die flut draußen zu halten und die Hardecore Coder nicht herauszufordern. Vielleicht noch Klickraten und Onlinezeit messen um verdächtige im hintergrund zu finden, aber ansonsten sollte man die Zeit in wichtigere Sachen stecken.
"Mein Spiel kann zwar nix, aber es gibt keine Multis oder Bots!"
Die perfekte Lösung gibt es sowieso nicht, genausowenig ist es unmöglich alle Sicherheitslücken auszuschließen.
"Mein Spiel kann zwar nix, aber es gibt keine Multis oder Bots!"
Die perfekte Lösung gibt es sowieso nicht, genausowenig ist es unmöglich alle Sicherheitslücken auszuschließen.
gepostet vor 18 Jahre, 12 Monate von Kallisti
hmm joa, ich habs nun auf Logout nach 4 Stunden geaendert, jede Stunde ist zu viel find ich. Und wenn sich jemand andres in den selben Acc einloggt, fliegt die vorherige Session raus, d.h. immer nur einer.
Captcha in Planung.. :-)
Captcha in Planung.. :-)
gepostet vor 18 Jahre, 12 Monate von Fornax
Was auch sinnvoll zu überprüfen wäre (find ich), wie oft man sich einloggt. Wenn man alle 60min, Tag und Nacht nach seinem Acc. guckt, ist das verdächtig. Ebenso elemente von dem Multiblock übernehmen, also gucken, ob eine IP (ein Cookie) mehrere Accs hat. Das mit der Klickrate sollte für ein Bot eigentlich kein Problem darstellen, er kann ja nach jeder aktion 5-20 Sec. warten :wink:
gepostet vor 18 Jahre, 12 Monate von Roi
Original von Kallisti
hmm joa, ich habs nun auf Logout nach 4 Stunden geaendert, jede Stunde ist zu viel find ich. Und wenn sich jemand andres in den selben Acc einloggt, fliegt die vorherige Session raus, d.h. immer nur einer.
Captcha in Planung.. :-)
Naja, bei der Variante hab ich dann als User trotzdem eine gute Nacht.
Ich log mich noch um 23-24 Uhr ein.
Laß ingame den Bot laufen, voila. 4 Stunden zusätzliche Sicherheit.
Oder ich logge mich ein und lasse dann den Bot bauen...
MfG, Roi.
gepostet vor 18 Jahre, 12 Monate von Riston
was zumindest für anfänger ein Hinderniss drastellen könnte. Klickrate zählen und ann wenn ein Wert überschritten wird 10 min Ban oder was in die Richtung
gepostet vor 18 Jahre, 12 Monate von Kallisti
Fornax: Jap, sehe ich auch so
Roi: Man muss Kompromisse machen, viel mehr moechte ich meinen Usern im Moment nicht zumuten, fuer die 4 Stunden bekomme ich ja schon Gemecker. :-) Aber das anzupassen ist ja nur eine Zahl im Sessioncheck...
Klickratenzaehlung lohnt eher weniger, ein Bot wird dann einfach pausieren und man trifft nur normale Spieler..
Roi: Man muss Kompromisse machen, viel mehr moechte ich meinen Usern im Moment nicht zumuten, fuer die 4 Stunden bekomme ich ja schon Gemecker. :-) Aber das anzupassen ist ja nur eine Zahl im Sessioncheck...
Klickratenzaehlung lohnt eher weniger, ein Bot wird dann einfach pausieren und man trifft nur normale Spieler..
gepostet vor 18 Jahre, 12 Monate von Roi
Zwingend ausloggen muß man doch niemanden....
gepostet vor 18 Jahre, 12 Monate von TheUndeadable
Original von Kallisti
Und was ist das Resultat?
Barrierefreiheit = 0
Copy & Paste = 0
Traffic = weit hoeher
Ladezeiten = weit hoeher
Serverlast = weit hoeher
Und Leute, die ein Captcha knacken koennen, koennen das auch weiterhin, Leute die kein Captcha knacken koennen, kommen ueber den Login nicht weg.
Daher die Frage:
WIESO?!
Jede weitere Erschwernis verringert die Gefahr der Botnutzung. Die ausblendbaren Buttons werde ich auch bei meinen Game einfügen. Dies beeinflusst keinen Browsernutzer. Authentifiziert sich ein Browser als Textbrowser, so erhält der Nutzer entweder nur einen Button oder eine Meldung, dass man einen grafischen Browser nutzen solle. Damit treffe ich höchsten 3% der Spielerzahl, damit kann ich leben. Die dazugehörige Programmierung kann man einfach abkapseln. Einmal gemacht, nie wieder drüber nachgedacht.
Natürlich sind dann die Textbrowsernutzer etwas unter Beobachtung, da sich der Bot ja einfach als solcher ausgeben kann. Oder ein Benutzer muss sich besonders anmelden, um Textbrowser nutzen zu können.
Je mehr Sicherheitsmaßnahmen man einführt, desto sicherer wird das Gesamtwerk. Sicherheit ist ein Konzept, keine Einzelaktion. Du kannst es ja machen wie du möchtest, aber überzeugt hast du mich keineswegs.
BTW: Captchas sind von der Barrierefreiheit auch nicht sonderlich positiv.
gepostet vor 18 Jahre, 12 Monate von Kallisti
Original von Roi
Zwingend ausloggen muß man doch niemanden....
Sondern?
Undeadable: Security by Obscurity ist als Konzept einfach komplett unbrauchbar.. Es ist die Arbeit in absolut keinster weise wert.
Glaube mittlerweile ist dazu alles gesagt... Wer die eine grosse Huerde knackt, knackt auch die weiteren Mini Huerdchen voellig problemlos. Wer die grosse Huerde nicht knackt, braucht auch keine folgenden. Deshalb einfach voellig sinnlos. Man darf sich nicht auf den direkten Kampf einlassen, sonst kann man Weiterentwicklung direkt streichen und sein Leben diesem Kampf widmen. Viel Spass... Es ist sinnlos.
Ich poste nur noch was zu nicht obscurity Konzepten, der Bloedsinn macht mich nur noch sauer, wie man so viel Energie verschenken kann, um Bot Codern Spass zu bereiten...
Wenn ihr meint ihr habt den ultimativen, tollsten anti bot Schutz, schickt mir doch bitte eine PM, das motiviert mich irgendwie schon sehr...
gepostet vor 18 Jahre, 12 Monate von TheUndeadable
Du legst immer alles in Schwarz/Weiß dar.
Security by Obscurity alleine ist nicht unbrauchbar, es ist nur knackbar. Im Gegensatz zu sensiblen Daten ist es kein Beinbruch, wenn es mal geknackt ist, dann kann man immer noch den Honeypot aktivieren und die Accounts dann sperren.
Es ist besser als nichts. Daher kann ich dein absolutistisches Denken nicht nachvollziehen. Und wenn es einen guten Sicherheitsmechanismus gibt, kann man immer noch eine Ebene Security by Obscurity dazulegen. Und einen Honeypot hat man in 15 Minuten programmiert, dann kann ich immer noch 2 Stunden am Projekt selbst weiterentwickeln.
Security by Obscurity alleine ist nicht unbrauchbar, es ist nur knackbar. Im Gegensatz zu sensiblen Daten ist es kein Beinbruch, wenn es mal geknackt ist, dann kann man immer noch den Honeypot aktivieren und die Accounts dann sperren.
Es ist besser als nichts. Daher kann ich dein absolutistisches Denken nicht nachvollziehen. Und wenn es einen guten Sicherheitsmechanismus gibt, kann man immer noch eine Ebene Security by Obscurity dazulegen. Und einen Honeypot hat man in 15 Minuten programmiert, dann kann ich immer noch 2 Stunden am Projekt selbst weiterentwickeln.
gepostet vor 18 Jahre, 12 Monate von Kallisti
Ich denke so wie ein Botschreiber. :-)
Wenn da eine Huerde ist, die ich nicht knacken kann, dann lasse ich es sein..
Wenn da eine Huerde ist, ueber die ich komme und mir danach neue Huerden begegnen, dann ist das eine Herausforderung und motiviert mich nur. Dann lache ich als Bot Entwickler ueber die laecherlichen zeitverschwendenden Aktionen des Admins, umgehe sie und fuehl mich danach noch viel toller. Publiziere das dann natuerlich - ein Captcha umgehen.. gut.... aber zig tolle Funktionen, die ein Game als "bot sicher" deklarieren zu umgehen - das ist doch was fuer Ego!
So ist nunmal die Gedankenfolge.
Knacken ist immer einfacher als Schuetzen, wenn man know how hat. Siehe Kopierschutzverfahren.. die Entwicklung dauert mit Sicherheit immer laenger als der Crack.
Es gibt keinen Kopierschutz, es gibt nur einen Kapierschutz - genauso ist es bei Bots. Es gibt keinen Botschutz, es gibt nur eine Huerde. Und wenn man das zu einem Huerdenlauf werden laesst, ist es schwieriger die ganzen Huerden herzuschleppen und aufzustellen, als eben darueberzuhuepfen. - Vor allem aber aufwendiger, schwieriger und zeitraubender - und im Gegensatz zum Huerdenlauf fuer die Zuschauer nicht konstruktiv.
Wenn da eine Huerde ist, die ich nicht knacken kann, dann lasse ich es sein..
Wenn da eine Huerde ist, ueber die ich komme und mir danach neue Huerden begegnen, dann ist das eine Herausforderung und motiviert mich nur. Dann lache ich als Bot Entwickler ueber die laecherlichen zeitverschwendenden Aktionen des Admins, umgehe sie und fuehl mich danach noch viel toller. Publiziere das dann natuerlich - ein Captcha umgehen.. gut.... aber zig tolle Funktionen, die ein Game als "bot sicher" deklarieren zu umgehen - das ist doch was fuer Ego!
So ist nunmal die Gedankenfolge.
Knacken ist immer einfacher als Schuetzen, wenn man know how hat. Siehe Kopierschutzverfahren.. die Entwicklung dauert mit Sicherheit immer laenger als der Crack.
Es gibt keinen Kopierschutz, es gibt nur einen Kapierschutz - genauso ist es bei Bots. Es gibt keinen Botschutz, es gibt nur eine Huerde. Und wenn man das zu einem Huerdenlauf werden laesst, ist es schwieriger die ganzen Huerden herzuschleppen und aufzustellen, als eben darueberzuhuepfen. - Vor allem aber aufwendiger, schwieriger und zeitraubender - und im Gegensatz zum Huerdenlauf fuer die Zuschauer nicht konstruktiv.
gepostet vor 18 Jahre, 12 Monate von TheUndeadable
Leider gibt es keine Hürde, die nicht zu knacken ist, auch Captchas sind Security By Obscurity.
Ich persönlich würde auch niemals Captchas einbauen, da ich sie hasse! Ich habe keine Lust im vollen Kopf erst ein Captcha zu erkennen. Weiterhin kann man nicht seinen gewohnten Loginablauf durchführen:
www.meingame.de -> Strg-Enter -> Schon drin
Nein, man muss erst
www.meingame.de -> TheUndeadable -> Tab -> Kennwort -> Tab -> Schauen -> Mmmh, was könnte das sein -> Zahl eingeben -> Enter
Daher würde ich nicht mit Hürden, sondern mit Fallen arbeiten. Botprogrammierer programmieren zum reinen Spaß, den kann ich ihn lassen, nur braucht er sich nicht wundern, wenn der Account gesperrt ist. Weiterhin kann er sich ja an offenen Schnittstellen (Xml-Webservices) austoben, viele haben dort genug Spaß.
Ich persönlich würde auch niemals Captchas einbauen, da ich sie hasse! Ich habe keine Lust im vollen Kopf erst ein Captcha zu erkennen. Weiterhin kann man nicht seinen gewohnten Loginablauf durchführen:
www.meingame.de -> Strg-Enter -> Schon drin
Nein, man muss erst
www.meingame.de -> TheUndeadable -> Tab -> Kennwort -> Tab -> Schauen -> Mmmh, was könnte das sein -> Zahl eingeben -> Enter
Daher würde ich nicht mit Hürden, sondern mit Fallen arbeiten. Botprogrammierer programmieren zum reinen Spaß, den kann ich ihn lassen, nur braucht er sich nicht wundern, wenn der Account gesperrt ist. Weiterhin kann er sich ja an offenen Schnittstellen (Xml-Webservices) austoben, viele haben dort genug Spaß.
gepostet vor 18 Jahre, 12 Monate von Kallisti
Offene Schnittstellen: ACK
Login: Browser speichert ja dennoch alles bis auf den Captcha Code und fuellt das Formular aus :-) - aber imho ist das Captcha der einzig akteptable Schutz, da er immerhin die meisten Bot User abhaelt (die Captcha Hacks sind momentan noch sehr sehr wenige und nur proof of concent oder um ernsthaft Profit daraus zu schlagen).
Obscurity ist ein Turing Check aber im Vergleich zu den anderen Methoden nicht. Ich verstecke ja nicht die echten Daten hinter gefaelschten oder versuche die echten Daten zu verschluesseln bzw. offensichtliches unkenntlich zu machen (was in einem Browser per se irrational ist, genau wie bei Audio CDs und Kopierschutzverfahren), sondern lediglich eine Zugangskontrolle zu installieren. Das ist der Unterschied.
Fallen stellen ist eine verdammt muessige Arbeit. Also ich bin mit Weiterentwicklung mehr als nur voll ausgelastet. Fuer Fallenstellen, hab ich sicher keine Zeit. Ist ein Algorithmus einmal durchschaut und ein Bot implementiert, darfst du wieder neue Fallen stellen. A neverending story.
Login: Browser speichert ja dennoch alles bis auf den Captcha Code und fuellt das Formular aus :-) - aber imho ist das Captcha der einzig akteptable Schutz, da er immerhin die meisten Bot User abhaelt (die Captcha Hacks sind momentan noch sehr sehr wenige und nur proof of concent oder um ernsthaft Profit daraus zu schlagen).
Obscurity ist ein Turing Check aber im Vergleich zu den anderen Methoden nicht. Ich verstecke ja nicht die echten Daten hinter gefaelschten oder versuche die echten Daten zu verschluesseln bzw. offensichtliches unkenntlich zu machen (was in einem Browser per se irrational ist, genau wie bei Audio CDs und Kopierschutzverfahren), sondern lediglich eine Zugangskontrolle zu installieren. Das ist der Unterschied.
Fallen stellen ist eine verdammt muessige Arbeit. Also ich bin mit Weiterentwicklung mehr als nur voll ausgelastet. Fuer Fallenstellen, hab ich sicher keine Zeit. Ist ein Algorithmus einmal durchschaut und ein Bot implementiert, darfst du wieder neue Fallen stellen. A neverending story.
gepostet vor 18 Jahre, 12 Monate von KoMtuR
A neverending story.
Ich will ja nicht naiv klingen, aber wer annimmt das perfekte System zu erstellen sollte mal zeitung lesen. Ich glaube wenn du das "ultimative" Schutzprogramm entwickelst, dann hätteste erstmal ausgesorgt...
edit: Nur mal um meinen Standpunkt zu untermauern. Es haben sich schon so einige Köpfe das Hirn weich gebraten, um irgendeinen sicheren Schutz zu finden. bestes beispiel Sony BMG. Schöner Schutz, wenn es nicht noch leute gegeben hätte, die das eben rausfinden. Daher kommt nun die schöne saftige Klage. Oder vielleicht doch nochmal zu Blizzard. Gleiche Versuch wie Sony (mit spyware), aber bringen tuts nun wirklich nichts (ja ich weiß die 2 beispiele hängen nun gerade sehr beieinander, weil die neuen Bots die Technik vom XCP nutzen).
Es gibt keinen unknackbaren Code oder ein sicheres Botsystem. Da musste immer was verbessern oder verändern, um die Leute bei der Stange zu halten. Man sagt ja nicht ohne Grund, dass alles, was vom Menschen geschaffen wurde auch wieder zerstört werden kann.
Es wird in jedem gottverdammten System irgendeine Überwindungsmöglichkeit geben. Captchas hin oder her. Wie schon oft gesagt wurde ist dies auch knackbar. Der wirklich effizienteste Schutz, wo wirklich kein Bot reinkommt ist dieser hier:
weiße Schrift auf weißen Hintergrund
gepostet vor 18 Jahre, 12 Monate von knalli
Original von KoMtuR
weiße Schrift auf weißen Hintergrund
Öhm?
gepostet vor 18 Jahre, 12 Monate von TheUndeadable
> weiße Schrift auf weißen Hintergrund
Ich hoffe, dass das ironisch gemeint war.
Ich hoffe, dass das ironisch gemeint war.
gepostet vor 18 Jahre, 11 Monate von poncho
Original von KoMtuR
weiße Schrift auf weißen Hintergrund
Der Bot aka Mensch könnte da seine Schwierigkeiten bekommen, ansonsten wohl eher nicht
gepostet vor 18 Jahre, 11 Monate von KoMtuR
das war ironie genau. Es sollte nur klar machen, dass es kein sicheren Schutz gibt. Schonmal jemand von euch Diabolus gelesen? Da wird dieses Thema auch behandelt.
edit: nächstes mal mach ich 10 smilies dahinter, damits auch jeder versteht, dass es nicht ernst gemeint war :roll:
edit: nächstes mal mach ich 10 smilies dahinter, damits auch jeder versteht, dass es nicht ernst gemeint war :roll:
gepostet vor 18 Jahre, 11 Monate von Chojin
neue ideen:
wenn IE endlich mal png transparenzen richtig anzeigen könnte, könnte man auch lustige überlagerungseffekte mit geschachtelten bildern machen und dann bessere captchas bauen die auf dem client per dom zusammengebaut (überlagert) werden.
was ich mir recht kompliziert vorstelle ist die darstellung von einer analogen Uhr bei der der user einfach angeben soll wieviel uhr es ist... am besten mit multiple choice und antworten wie "halb drei" oder "dreiviertel zehn". ein paar stöhrzeichen müsste man wohl trotzdem noch drüberlegen. :roll:
nur so ne idee.
reg4rds
chojin
wenn IE endlich mal png transparenzen richtig anzeigen könnte, könnte man auch lustige überlagerungseffekte mit geschachtelten bildern machen und dann bessere captchas bauen die auf dem client per dom zusammengebaut (überlagert) werden.
was ich mir recht kompliziert vorstelle ist die darstellung von einer analogen Uhr bei der der user einfach angeben soll wieviel uhr es ist... am besten mit multiple choice und antworten wie "halb drei" oder "dreiviertel zehn". ein paar stöhrzeichen müsste man wohl trotzdem noch drüberlegen. :roll:
nur so ne idee.
reg4rds
chojin
gepostet vor 18 Jahre, 11 Monate von Kallisti
Dank imagemagick nicht sooo schwer "zusammenzubauen", aber doch nette Idee, waere vielleicht einen Versuch wert (aber bitte nicht per javascript ).
Allerdings: "dreiviertel zehn" verstehen 2/3 von Deutschland auch ohne Bot nicht...
Allerdings: "dreiviertel zehn" verstehen 2/3 von Deutschland auch ohne Bot nicht...
gepostet vor 18 Jahre, 11 Monate von Klaus
Wo sagt man denn Dreiviertel zehn? Hör ich zum ersten mal...
Zwar nicht sicher die Idee mit der Uhr, aber bei genug Verfälschung schwer selbst auszulesen und OCR Software ist nicht.
Zwar nicht sicher die Idee mit der Uhr, aber bei genug Verfälschung schwer selbst auszulesen und OCR Software ist nicht.
gepostet vor 18 Jahre, 11 Monate von Chojin
Original von Kallisti
Allerdings: "dreiviertel zehn" verstehen 2/3 von Deutschland auch ohne Bot nicht...
Ist doch super, dann lernt der ungebildete rest von deutschland auch noch wie man im kultivierten Bayern die Zeit richtig ausspricht.
Ist die idee ernsthaft zu gebrauchen?
reg4rds
chojin
gepostet vor 18 Jahre, 11 Monate von Mudder
War dreiviertel zehn nun 9:45 Uhr, 10:45 Uhr oder 7.5/75% ?
gepostet vor 18 Jahre, 11 Monate von KoMtuR
dreiviertel zehn ist 9 ganze und 3 viertel. also 9:45. Sozusagen ist 4/4 10 genau um 10 uhr
[...]rest von deutschland auch noch wie man im kultivierten Bayern die Zeit richtig ausspricht.
Nicht nur in Bayern sagt man so die Uhrzeit. Auch in den östlichen Ländern. Die Andersdenkenden sind nur zu faul sich für eines zu einigen. sagen zwar halb 10, statt halb vor 10, aber stattdessen viertel vor 10.
[...]rest von deutschland auch noch wie man im kultivierten Bayern die Zeit richtig ausspricht.
Nicht nur in Bayern sagt man so die Uhrzeit. Auch in den östlichen Ländern. Die Andersdenkenden sind nur zu faul sich für eines zu einigen. sagen zwar halb 10, statt halb vor 10, aber stattdessen viertel vor 10.
gepostet vor 18 Jahre, 11 Monate von poncho
Original von Chojin
wenn IE endlich mal png transparenzen richtig anzeigen könnte...
Kann er:
Siehe http://koivi.com/ie-png-transparency/
Nur eben per Umweg
gepostet vor 18 Jahre, 11 Monate von knalli
Immerhin.. IE hin oder her.. eine sehr interessante Lektüre.
gepostet vor 18 Jahre, 11 Monate von Mudder
Hmm.. ich könnte nun wieder ne Grundsatzdiskussion anfangen.
Also "mein" IE kam erstmal mit ner Sicherheitswarnung an als ich die Seite im IE öffnete. Erst nachdem ich das ganze Ding genehmigt hatte, zeigte er das untere PNG-Bild transparent an..
Transparente PNGs sind wirklich geil.. da kann man massig mit machen und auch ohne Transparenz verwende ich die Dinger. Nur für "öffentliche" Seiten kannst auch eben nur die "einfachen" PNGs verwenden..
Da wird auch der "Filter" kaum was draus machen können, denn wenn du der Seite nicht erlaubst den Filter zu laden, dann werden die Bilder garnicht erst angezeigt..
Sprich.. solange man bei einem BG nicht mal FF oder auch Opera als Mindestanforderung angibt bzw. bis der IE 7 endlich erscheint, bringt der Filter im Grunde auch nix.
Also "mein" IE kam erstmal mit ner Sicherheitswarnung an als ich die Seite im IE öffnete. Erst nachdem ich das ganze Ding genehmigt hatte, zeigte er das untere PNG-Bild transparent an..
Transparente PNGs sind wirklich geil.. da kann man massig mit machen und auch ohne Transparenz verwende ich die Dinger. Nur für "öffentliche" Seiten kannst auch eben nur die "einfachen" PNGs verwenden..
Da wird auch der "Filter" kaum was draus machen können, denn wenn du der Seite nicht erlaubst den Filter zu laden, dann werden die Bilder garnicht erst angezeigt..
Sprich.. solange man bei einem BG nicht mal FF oder auch Opera als Mindestanforderung angibt bzw. bis der IE 7 endlich erscheint, bringt der Filter im Grunde auch nix.
gepostet vor 18 Jahre, 11 Monate von TheUndeadable
Bei mir kam es zu keiner Sicherheitswarnung, Standard-Einstellungen von Microsoft.
gepostet vor 18 Jahre, 11 Monate von Klaus
btw: auch schön das hier alle Tricks im Anfänger Forum ausgeplaudert wurden...
gepostet vor 18 Jahre, 11 Monate von knalli
Wer diesen Thread nutzt, um sich auf den neusten Stand der "Sache" zu bringen, dem sage ich nur: Vergiss es, wer sich Hacker, Multi oder weiß der Geier nennen will und bis heute (bzw vorm Studieren dieses Threads) nicht wusste, wie es geht, der sollte es lieber gleich bleiben
Oder anders kurz: Wir reden hier über Dinge, die eh bereits überholt sind, wenn man etwas "sicher" machen will. Sicher geht schon mal gar nichts, nur annährend.
Oder anders kurz: Wir reden hier über Dinge, die eh bereits überholt sind, wenn man etwas "sicher" machen will. Sicher geht schon mal gar nichts, nur annährend.
gepostet vor 18 Jahre, 11 Monate von TheUndeadable
habe ich zufällig gefunden, evtl interessant:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/hip_aspnet.asp
Stephen Toub
Microsoft Corporation
September 2004
Summary: Stephen Toub introduces concepts involved in Human Interactive Proofs and creates a framework for their incorporation into your ASP.NET sites. (26 printed pages)
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/hip_aspnet.asp
Stephen Toub
Microsoft Corporation
September 2004
Summary: Stephen Toub introduces concepts involved in Human Interactive Proofs and creates a framework for their incorporation into your ASP.NET sites. (26 printed pages)