intelligentes Gästebuch-Spam-Script?
Christoph Schnauß
- sonstiges
0 Ashura0 Olapf0 Detlef G.0 Felix Riesterer0 Alexander Brock0 MudGuard0 Gunnar Bittersmann
hallo Forum,
ich habe gewohnheitsmäßig ein kleines (zur Zeit PHP-)Gästebuchscript laufen - der letzte, der sich da "regulär" eingetragen hat, war übrigen scherzkeks, unter Berufung auf seinen Thread.
Es gibt aber auch zunehmend irgendwelche (dummen?) Scripts, die Werbeeinträge vornehmen können. Da ich ein paar RegExpressions drinhabe, verstehe ich noch nicht ganz, wie die das machen, aber seis drum, ich habe noch ein Löschscript laufen, das allzu offensichtlichen Werbemüll wieder rauswerfen kann. _Alles_ erwischt das allerdings auch nicht, so daß manche ärgerliche Werbeeinträge schonmal einen oder zwei Tage stehenbleiben.
Was mich wundert, ist etwas anderes: es ist eine Nachlässigkeit in meinem Script (die ich schon lange mal beheben müßte), daß bei den Datumsangaben die Monatsnamen in ihrer englischsprachigen Form angegeben werden - als "January" und "February" und "March". Diese Werbescripts, die mich unter anderem mit Porno-Links in den letzten Tagen ziemlich vollgemüllt haben, tragen aber korrekte "deutsche" Datumsbezeichnungen ein. Ups. Ich habe jetzt allerdings kein Beispiel stehenlassen, nur die letzte Eintragung vom scherzkeks ist unbearbeitet. Wie machen das aber diese Werberobots, das Datum, das ja eigentlich nicht "händisch" eingegeben werden muß, in der korrekten landessprachlichen Form einzutragen?
Grüße aus Berlin
Christoph S.
Hallo Christoph.
Wie machen das aber diese Werberobots, das Datum, das ja eigentlich nicht "händisch" eingegeben werden muß, in der korrekten landessprachlichen Form einzutragen?
Sie werten die TLD aus?
Das wäre zumindest der erste Gedanke, der mir in den Sinn kommt.
Einen schönen Samstag noch.
Gruß, Ashura
hallo Ashura,
Sie werten die TLD aus?
Das halte ich zwar für eine Grundvoraussetzung - nur gibts in meinem Script keinerlei Formularfeld, in das man das aktuelle Datum eintragen müßte. Und auch keinerlei eventuell als URL-Übergabeparameter einstellbare Variable fürs Datum (andere Parameter gibts schon).
Das wäre zumindest der erste Gedanke, der mir in den Sinn kommt.
Ja, der kam mir auch. Ich verstehe es trotzdem nicht. Erklärbar wäre es mir, wenn eben das Datum "von Hand" (was hier gleichbedeutend mit "von Script" sein müßte) eingetragen würde. Tut es aber nicht :-(
Grüße aus Berlin
Christoph S.
Hallo Christoph.
Das halte ich zwar für eine Grundvoraussetzung - nur gibts in meinem Script keinerlei Formularfeld, in das man das aktuelle Datum eintragen müßte.
Also trägt der Spambot das Datum in den Nachrichtenbody ein?
Erklärbar wäre es mir, wenn eben das Datum "von Hand" (was hier gleichbedeutend mit "von Script" sein müßte) eingetragen würde. Tut es aber nicht :-(
Vielleicht schaut ein und der selbe Bot hin und wieder vorbei und kontrolliert an Hand des Datums, ob du einmal wieder reif für einen (oder mehrere) seiner Beiträge bist.
Da es sich um einen Spam(!)Bot(!) handelt, finde ich, dass dies keinen Sinn ergeben muss.
Einen schönen Samstag noch.
Gruß, Ashura
hallo Ashura,
Also trägt der Spambot das Datum in den Nachrichtenbody ein?
Nein, das tut er nicht. Er schreibt es genau an dieselbe Stelle, an der es mein Script auch tut - bloß in einer anderen Formatierung.
Vielleicht schaut ein und der selbe Bot hin und wieder vorbei und kontrolliert an Hand des Datums, ob du einmal wieder reif für einen (oder mehrere) seiner Beiträge bist.
Es sieht so aus, als würde das geschehen - immer, wenn ich etwas gelöscht habe, kommt fast in Minutenabständen der nächste Eintrag. Lasse ich was stehen, kommt nichts Neues. Das geschieht in der Regel so zwischen 4 und 8 Uhr morgens, da arbeitet mein Löschscript an manchen Tagen ziemlich lebhaft.
Da es sich um einen Spam(!)Bot(!) handelt, finde ich, dass dies keinen Sinn ergeben muss.
Der Sinn für den Bot besteht darin, seine Werbung einzutragen - und möglicherweise verlinkt das Teil das dann auch auf anderen Servern. Für einen bot ist sowas durchaus sinnvoll, für mich natürlich nicht.
Aber nochmal: ich wollte keine allgemeine "Spambot-Diskussion" lostreten - das hatten wir schon gelegentlich. Mich interessiert lediglich, ob jemand eine Idee hat, wie das Teil es fertigbringt, statt "February" eben korrekt "Februar" einzuschreiben. Das aktuelle Gästebuchscript kann ich natürlich noch bekanntgeben, wenn das benötigt wird.
Grüße aus Berlin
Christoph S.
Hallo Christoph.
Also trägt der Spambot das Datum in den Nachrichtenbody ein?
Nein, das tut er nicht. Er schreibt es genau an dieselbe Stelle, an der es mein Script auch tut - bloß in einer anderen Formatierung.
Bitte? Also nimmt dein Script blindlings alle POST-Daten entgegen und schreibt sie direkt in die Datenablage?
Habe ich z. B. folgendes XML-Dokument als Ablage, würde der Spambot das Datum mit deinem Script an die entsprechende Stelle (in das date-Element) schreiben?
<?xml version="1.0" standalone="yes"?>
<!DOCTYPE gb>
<gb>
<entry>
<name>Foo</name>
<email>foo@example.org</email>
<date>February 25, 2006</date>
<comment>Hello World</comment>
</entry>
</gb>
Sollte dem so sein, hast du ein großes Leck. Ich glaube allerdings nicht, dass dir so etwas passieren würde.
Es sieht so aus, als würde das geschehen - immer, wenn ich etwas gelöscht habe, kommt fast in Minutenabständen der nächste Eintrag. Lasse ich was stehen, kommt nichts Neues.
Recht merkwürdig, wenn du mich fragst.
Der Sinn für den Bot besteht darin, seine Werbung einzutragen - und möglicherweise verlinkt das Teil das dann auch auf anderen Servern. Für einen bot ist sowas durchaus sinnvoll, für mich natürlich nicht.
Hier ist es im übrigen schon hilfreich, wenn man HTML-Links nicht zulässt und zusätzlich noch etwas anderes an Stelle des BB-üblichen [url][/url] verwendet, wie es z. B. in meinen Gästebuch der Fall ist.
Das aktuelle Gästebuchscript kann ich natürlich noch bekanntgeben, wenn das benötigt wird.
Das würde ich in der Tat gerne einmal sehen wollen.
Einen schönen Samstag noch.
Gruß, Ashura
hallo Ashura,
Bitte? Also nimmt dein Script blindlings alle POST-Daten entgegen und schreibt sie direkt in die Datenablage?
Jaein - allerdings bin ich nicht absolut sicher, ob ich diese Nachfrage richtig verstehe. Selbstverständlich werden alle POST-Daten erstmal entgegengenommen. Sie werden allerdings dann mit ein paar RegExpressions gefiltert und erst danach in die Ablage geschrieben.
Habe ich z. B. folgendes XML-Dokument als Ablage, würde der Spambot das Datum mit deinem Script an die entsprechende Stelle (in das date-Element) schreiben?
<?xml version="1.0" standalone="yes"?>
<!DOCTYPE gb>
<gb>
<entry>
<name>Foo</name>
<email>foo@example.org</email>
<date>February 25, 2006</date>
<comment>Hello World</comment>
</entry>
</gb>
öhm ... mal abgesehen davon, daß ich derzeit kein XML in Benutzung habe - bei "name", "email" und "comment" wäre das tatsächlich so. Auch wenn die Formularfelder geringfügig anders heißen (und wenn ich damit ein Problem hätte, wüßte ich auch, wo ich eine Korrektur ansetzen müßte). Aber "date" gibts eben nicht als Formularfeld. Das gibt es nur als "interne" Variable des Scripts auf dem Server (und heißt auch ein bißchen anders) - und da kommt ja wohl ein bot nicht ran; dachte ich bisher zumindest.
Du bringst mich allerdings auf die Idee, daß ich für die Datenhaltung doch mal XML probieren sollte. Hielt ich bisher nicht für zwingend erforderlich, da sich das "Datenaufkommen" in durchaus überschaubaren Grenzen hält.
> Hier ist es im übrigen schon hilfreich, wenn man HTML-Links nicht zulässt
Die sind zugelassen, jedenfalls in den Formularfeldern. Erlaubt ist beispielsweise bisher, daß jemand seine URL angibt und/oder seine mail-Adresse, und das erscheint dann auch als anklickbarer Verweis. Im Nachrichtentext selbst (textarea) wäre das nicht zugelassen, jedenfalls nicht anklickbar - HTML ist erlaubt.
Das machen diese bots übrigens auch; sie schreiben mehrfach in ihre Texte, die fast immer mit "great site!..." anfangen, sowas wie <http://www.werbeadresse.com> hinein. Die spitzen Klammern sind zulässig, eine anklickbare URL wird das aber nicht. Aber es ist natürlich mehr als peinlich, wenn man eine URL zu irgendeiner "milf"-Adresse stehenläßt.
> etwas anderes an Stelle des BB-üblichen [url][/url] verwendet
BB-Code habe ich nicht drin.
> > Das aktuelle Gästebuchscript kann ich natürlich noch bekanntgeben, wenn das benötigt wird.
> Das würde ich in der Tat gerne einmal sehen wollen.
Hm. Ich habe im Moment sogar zwei unterschiedliche Scripts laufen, die aber beide eaxakt dasselbe optische Ergebnis liefern: ein Perl-Script, und ein PHP-Script. Das Perl-Script ist zur Zeit nicht mehr verlinkt, aber wenns ein bot unter <http://www.christoph-schnauss.de/cgi-bin/gastb.pl> finden sollte, kann er das ebenfalls benutzen. Und ich nehme an, daß diese Spam-bots genau nach solchen URLs suchen und sie gezielt auszunutzen versuchen. Allerdings sehe ich natürlich an den logs, daß dieses Script (bisher) \_nicht\_ für Werbeeinträge benutzt wurde, sodern daß es ausschließlich <http://www.christoph-schnauss.de/kontakt/gastb.php> ist, auf das bisher zugegriffen wurde.
Wahrscheinlich könnte ich mir Spam-Einträge noch wesentlich effektiver fernhalten, wenn ich meine Scripts nicht mit solchen Namen wie "gastb.xxx" versehen würde. Aber wie bereits ausgeführt, geht es mir im Moment nicht vorrangig um das "Fernhalten" von Spam, sondern um ein ganz spezifisches Verhalten der "Gästebuchspamer", das ich mir derzeit noch nicht erklären kann.
Grüße aus Berlin
Christoph S.
--
[Visitenkarte](http://community.de.selfhtml.org/visitenkarten/view.php?key=26)
ss:| zu:) ls:& fo:) va:) sh:| rl:|
Hallo Christoph.
Selbstverständlich werden alle POST-Daten erstmal entgegengenommen. Sie werden allerdings dann mit ein paar RegExpressions gefiltert und erst danach in die Ablage geschrieben.
Also wandern sie nicht unbehandelt in die Datenablage, gut.
Aber auf irgend einem Wege *muss* die Variable, in der du zeitweise den Eintragszeitpunkt ablegst von außerhalb modifiziert werden können. Andernfalls könnte der Bot ebendieses Datum ja auch nicht beeinflussen.
Aber "date" gibts eben nicht als Formularfeld. Das gibt es nur als "interne" Variable des Scripts auf dem Server (und heißt auch ein bißchen anders) - und da kommt ja wohl ein bot nicht ran; dachte ich bisher zumindest.
Dein FTP-Account ist aber sicher? (Obligatorische Frage.)
Du bringst mich allerdings auf die Idee, daß ich für die Datenhaltung doch mal XML probieren sollte. Hielt ich bisher nicht für zwingend erforderlich, da sich das "Datenaufkommen" in durchaus überschaubaren Grenzen hält.
Wie legst du deine Daten denn momentan ab?
Erlaubt ist beispielsweise bisher, daß jemand seine URL angibt und/oder seine mail-Adresse, und das erscheint dann auch als anklickbarer Verweis.
Ja, ist bei mir ebenfalls so.
Im Nachrichtentext selbst (textarea) wäre das nicht zugelassen, jedenfalls nicht anklickbar - HTML ist erlaubt.
Wird aber nicht ausgwertet, sprich: nicht parsebar (ich weiß, Wortkreation) gemacht.
Das machen diese bots übrigens auch; sie schreiben mehrfach in ihre Texte, die fast immer mit "great site!..." anfangen, sowas wie http://www.werbeadresse.com hinein.
In einem Eintrag, den ich vor Kurzem entfernt habe, standen fünf verschiedene URIs, einmal als HTML-Link und einmal in [url]-Blöcken.
Die spitzen Klammern sind zulässig, eine anklickbare URL wird das aber nicht. Aber es ist natürlich mehr als peinlich, wenn man eine URL zu irgendeiner "milf"-Adresse stehenläßt.
„milf“?
Allerdings sehe ich natürlich an den logs, daß dieses Script (bisher) _nicht_ für Werbeeinträge benutzt wurde, sodern daß es ausschließlich http://www.christoph-schnauss.de/kontakt/gastb.php ist, auf das bisher zugegriffen wurde.
Warum hast du von Perl auf PHP gewechselt?
Einen schönen Samstag noch.
Gruß, Ashura
Hallo Ingrid.
Aber es ist natürlich mehr als peinlich, wenn man eine URL zu irgendeiner "milf"-Adresse stehenläßt.
„milf“?
OK, Frage selbst beantwortet.
Einen schönen Sonntag noch.
Gruß, Ashura
„milf“
= mother i like to f***
hallo Markus,
„milf“
= mother i like to f***
boah, entschuldige, aber da _mußte_ ich jetzt ein "nicht hilfreich" draufkleben.
Grüße aus Berlin
Christoph S.
hm,
boah, entschuldige, aber da _mußte_ ich jetzt ein "nicht hilfreich" draufkleben.
war das falsch?
Hallo Markus.
boah, entschuldige, aber da _mußte_ ich jetzt ein "nicht hilfreich" draufkleben.
war das falsch?
Nein, aber unnötig.
Einen schönen Sonntag noch.
Gruß, Ashura
hallo Ashura,
Selbstverständlich werden alle POST-Daten erstmal entgegengenommen. Sie werden allerdings dann mit ein paar RegExpressions gefiltert und erst danach in die Ablage geschrieben.
Also wandern sie nicht unbehandelt in die Datenablage, gut.
Aber auf irgend einem Wege *muss* die Variable, in der du zeitweise den Eintragszeitpunkt ablegst von außerhalb modifiziert werden können. Andernfalls könnte der Bot ebendieses Datum ja auch nicht beeinflussen.
Ja, und genau das ist eigentlich die Denksportaufgabe, die ich mit diesem Thread anstoßen wollte. Ich komme von alleine nicht dahinter.
Dein FTP-Account ist aber sicher? (Obligatorische Frage.)
Generell ja. Im Moment funktioniert er leider nicht (siehe oben), sonst hätte ich das Script bereits online gestellt zum Nachlesen. Aber das hat mit dem "Problem" nichts zu tun, da das schon vor Wochen auftrat. Aber ich wollte auch nicht sofort mit einer dümmlichen Nachfrage hier ins Forum hereinplatzen.
Wie legst du deine Daten denn momentan ab?
In einer extrem simplen Textdatei. Das reicht für das aktuelle Datenvolumen völlig aus.
Das machen diese bots übrigens auch; sie schreiben mehrfach in ihre Texte, die fast immer mit "great site!..." anfangen, sowas wie http://www.werbeadresse.com hinein.
In einem Eintrag, den ich vor Kurzem entfernt habe, standen fünf verschiedene URIs, einmal als HTML-Link und einmal in [url]-Blöcken.
Ja, sowas kommt vor, aber das ist beherrschbar - sogar mit Leichtigkeit ;-)
„milf“?
öhm ... muß ich dir das erklären? Das ist Hardcore-Porno...
Warum hast du von Perl auf PHP gewechselt?
Gute Frage ... ich konnte schon ein bißchen Perl, weit bevor überhaupt von PHP geredet wurde. Aber mich hat es vor einiger Zeit gereizt, herauszufinden, ob ich funktionell und optisch mit PHP dasselbe erreichen kann wie mit Perl. Das kann ich. Und da (vor allem wegen der Navigation) meine gesamte "Site" vor einiger Zeit (wozu es übrigens einen Archivthread gibt) von einer Frames-Konstruktion mit einem Javascript-Menü auf PHP "umgerüstet" wurde, habe ich dann halt gleich alles in PHP gemacht. Da gibt es noch erheblich mehr als bloß das Gästebuch.
Ich habe letzten Endes vor der Wahl gestanden, ob ich es ähnlich wie Rolf Rost mit seiner Perl-basierten Site machen soll, oder eben mit PHP. Ich habe mich für PHP entschieden. Auch deshalb, weil ich damit immer noch hie und da Probleme habe. Andrerseits ergibt sich beispielsweise beim Einsatz von RegExpressions eine großartige Gelegenheit, zu vergleichen, wie die beiden Sprachen damit umgehen.
Ich habe jetzt mal das angegebene Perl-Script wieder verlinkt. Es bleibt abzuwarten, ob und wann so ein Spam-Bot wieder vorbeikommt. Laut logs sind die Dinger immer so in den frühen Morgenstunden unterwegs, im Moment ist da also noch nichts wieder passiert und also leider aktuell kein log verfügbar.
Grüße aus Berlin
Christoph S.
Hallo Christoph.
Ja, und genau das ist eigentlich die Denksportaufgabe, die ich mit diesem Thread anstoßen wollte. Ich komme von alleine nicht dahinter.
Ich hoffe einfach mal, dass es sich nur um eine lächerliche Kleinigkeit und nicht um ein grundsätzliches Verständnisproblem handelt. Aber ohne den Quellcode wüsste ich momentan nicht weiter.
Wie legst du deine Daten denn momentan ab?
In einer extrem simplen Textdatei. Das reicht für das aktuelle Datenvolumen völlig aus.
Glaube ich. Ich favorisiere XML und setze es dem entsprechend ein, wo es mir möglich ist. Flatfiles sind mir persönlich nicht übersichtlich genug und Datenbanken in Bezug auf die synchrone Datenhaltung zu unhandlich.
In einem Eintrag, den ich vor Kurzem entfernt habe, standen fünf verschiedene URIs, einmal als HTML-Link und einmal in [url]-Blöcken.
Ja, sowas kommt vor, aber das ist beherrschbar - sogar mit Leichtigkeit ;-)
Naja, da mein Mailserver einige Zeit lang ausgefallen war, bemerkte ich den Eintrag erst fünf Tage nach seiner Eintragung.
„milf“?
öhm ... muß ich dir das erklären? Das ist Hardcore-Porno...
Wie in meinem anderen Posting erklärt, bin ich selbst auf die Antwort gekommen. Eine Erklärung ist nicht mehr nötig.
Aber mich hat es vor einiger Zeit gereizt, herauszufinden, ob ich funktionell und optisch mit PHP dasselbe erreichen kann wie mit Perl.
Das habe ich persönlich mir noch vorgenommen, wenn auch in entgegen gesetzter Richtung.
Andrerseits ergibt sich beispielsweise beim Einsatz von RegExpressions eine großartige Gelegenheit, zu vergleichen, wie die beiden Sprachen damit umgehen.
Wenn die PCRE-Version übereinstimmt identisch, hoffe ich doch.
Ich habe jetzt mal das angegebene Perl-Script wieder verlinkt. Es bleibt abzuwarten, ob und wann so ein Spam-Bot wieder vorbeikommt.
Jetzt wartest du sogar schon darauf, dass ein Bot sein schmutziges Werk verrichtet, tsts.
Einen schönen Sonntag noch.
Gruß, Ashura
hallo,
Jetzt wartest du sogar schon darauf, dass ein Bot sein schmutziges Werk verrichtet, tsts.
So lange brauchte ich erstaunlicherweise gar nicht zu warten. Um 2.10 Uhr war einer da. Was er eingetragen hat, ist unter http://www.christoph-schnauss.de/kontakt/gastb_spam.php nachlesbar. Man sieht da auch, was ich meine: die Eintragung vom scherzkeks lautet auf "February", und die Eintragung dieser "Melena" ist vom "Februar".
Ich werde dieses _spam.php allerdings nicht lange online lassen. Die zugrundeliegende Datendatei ist (link:http://www.christoph-schnauss.de/kontakt/gastb_spam.txt].
Inhaltlich wird wohl auch verständlich, weshalb ich sowas nicht einfach stehenlassen kann *g*
Grüße aus Berlin
Christoph S.
Moin!
So lange brauchte ich erstaunlicherweise gar nicht zu warten. Um 2.10 Uhr war einer da. Was er eingetragen hat, ist unter http://www.christoph-schnauss.de/kontakt/gastb_spam.php nachlesbar. Man sieht da auch, was ich meine: die Eintragung vom scherzkeks lautet auf "February", und die Eintragung dieser "Melena" ist vom "Februar".
Christoph, du kommst um den Fakt nicht herum, dass du in deinem Skript irgendein Leck hast.
Protokolliere bei jedem empfangenen Gästebucheintrag doch mal das komplette vom Browser übermittelte Datenkonglomerat: var_dump von $_POST, $_GET, $_COOKIE und $_SERVER. Dann sieht man wirklich, was dir übermittelt wird. Bzw. zunächst mal nur du.
Und dann hälst du diese Information gegen dein Skript. Wenn dir dann nichts auffällt, mußt du es wohl zwangsläufig veröffentlichen, damit die Forumsteilnehmer es dir auseinandernehmen. Du weißt doch, wie das mit dem "Ich habe ein Problem, aber ich zeig' meinen Quelltext nicht" funktioniert - gar nicht.
- Sven Rautenberg
Hallihallo!
Ich will ja nicht unken, aber mir ist da grade beim Betrachten genau das Gegenteil von dem aufgefallen, was Du die ganze Zeit suchst.
Streng genommen ist die Nachricht vom scherzkeks die einzige, die mit einem _englischen_ Datum versehen ist.
Zugegeben, das Problem bleibt vom Prinzip her das Gleiche, aber vielleicht ist es ja einfacher, den Ursprung des Problems andersherum aufzuspüren.
Also nicht "warum plötzlich deutsches Datum", sondern "warum plötzlich englisches Datum".
Kurzes Brainstorming meinerseits: könnte es evtl. etwas mit dem Absendezeitpunkt zu tun haben, also daß der Server zu bestimmten Uhrzeiten ein anderes Format benutzt? (Aus welchen Gründen auch immer er so etwas tun sollte...)
Viele liebe Grüße,
Der Dicki
Hallo Christoph.
Um sicher zu gehen, habe ich eben zwei Einträge jeweils mit verändertem HTTP_ACCEPT_LANGUAGE-Header vorgenommen. Soweit ich sehen konnte, erzeugten beide ein Datum im englischen Format. (Du kannst die Einträge entfernen.)
Einen schönen Sonntag noch.
Gruß, Ashura
Hallo Christopf!
In diesen Pornospams kommen doch immer wieder die selben Schlagworte vor.
Mach doch einfach eine Sperre bei diesen Wörtern.
Gruß, Olapf
hallo Olapf,
In diesen Pornospams kommen doch immer wieder die selben Schlagworte vor.
Mach doch einfach eine Sperre bei diesen Wörtern.
Mein Löschscript geht so vor und ist damit auch einigermaßen erfolgreich. Es gibt selbstverständlich eine Liste von "bad-words".
Aber mir gings mit meiner Nachfrage nicht grundsätzlich darum, wie ich die Dinger wieder loswerden kann (das kriege ich schon einigermaßen zeitnah hin), sondern es ging mir darum, wie die es machen, eben ein "deutschsprachiges" Datumsformat einzutragen, obwohl mein Script selber das gar nicht kann.
Ich kann mir selbstverständlich in den Server-logs anschauen, wer da über die "POST"-Variable was eingetragen hat. Die IP-Adressen sind nahezu immer irgendwelche gefakten Serveradressen in Indonesien oder in Lateinamerika oder in Rußland. Da nachzuschauen ist vergebliche Mühe und bringt auch nichts. Natürlich könnte ich auch diese IPs sperren und noch ein paar andere Mätzchen anstellen. Aber wie gesagt: es ist für mich eher eine Denksportaufgabe, herauszufinden, wie und warum die das Datum entsprechend meiner TLD "de" in der landesspezifischen Form darstellen können, wenn es doch "regulären" Gästebuchbenutzern wie eben dem scherzkeks nicht gelingen kann.
Grüße aus Berlin
Christoph S.
Hallo Christoph,
es ging mir darum, wie die es machen, eben ein "deutschsprachiges" Datumsformat einzutragen, obwohl mein Script selber das gar nicht kann.
wo hast Du das Script denn geklaut? Irgendwo wird doch die Variable stehen. Und wenn die schon in den Post-Daten steht, ist das doch nicht schwer. Zeig doch mal das Script.
Gruß, Andreas
hallo Andreas,
wo hast Du das Script denn geklaut?
Tstststs, was denkst du denn von mir. Das habe ich nirgends geklaut, sondern tatsächlich selber entwickelt.
Die Zeit, in der ich Scripts "klauen" mußte, liegt schon ain paar Jahre zurück.
Grüße aus Berlin
Christoph S.
Hallo Christoph
... Diese Werbescripts, die mich unter anderem mit Porno-Links in den letzten Tagen ziemlich vollgemüllt haben, tragen aber korrekte "deutsche" Datumsbezeichnungen ein.
Wo tragen die das Datum ein?
... Wie machen das aber diese Werberobots, das Datum, das ja eigentlich nicht "händisch" eingegeben werden muß, in der korrekten landessprachlichen Form einzutragen?
Wie schicken die dir das Datum?
Wenn es in deinem Formular keine Feld zum eintragen des Datums gibt, warum
wertest du es denn aus, statt diese Einträge automatisch zu löschen?
Auf Wiederlesen
Detlef
hallo Detlef,
Wie schicken die dir das Datum?
Ja, das war ja eigentlich _meine_ Frage *g*
Wenn es in deinem Formular keine Feld zum eintragen des Datums gibt, warum
wertest du es denn aus, statt diese Einträge automatisch zu löschen?
Mein Script trägt es ein, und das soll es auch tun. Ich will schon das Datum eines Eintrags haben.
Was ich verstehen kann, ist: daß so ein bot, wenn er einmal tatsächlich meine RegExpressions überwunden hat (an denen sich übrigens mehrere pro Tag aufhängen), dann seinen Werbetext einträgt. _Dafür_ (also für den Text) gibts ein Formularfeld, und die Variable _dafür_ herauszufinden ist nicht allzu schwierig. Die anderen tatsächlich vorhandenen Formularfelder (Name, mail-Adrese ...) zu "knacken" ist für einen bot sicher auch nicht allzu schwierig, das tun die Dinger auch, und da ich das verstehen kann, geht meine Nachfrage eben _nicht_ dahin, wie so ein bot vorhandene Formularfelder ausnutzen kann. Sondern eben dahin, wie so ein bot _nicht vorhandene_ (nicht einmal "hidden") Formularfelder benutzen kann.
Grüße aus Berlin
Christoph S.
hi,
Wie schicken die dir das Datum?
Ja, das war ja eigentlich _meine_ Frage *g*
Warum hast du dann noch keinen solchen Request mitloggen lassen?
Wenn es in deinem Formular keine Feld zum eintragen des Datums gibt, warum
wertest du es denn aus, statt diese Einträge automatisch zu löschen?Mein Script trägt es ein, und das soll es auch tun. Ich will schon das Datum eines Eintrags haben.
Aber dafür nimmt man doch normalerweise die Zeit vom Server.
Wie bitte soll dann ein Eintrager, sei der Mensch oder Script, das Datum selber mitgeben können?
Nimmst du etwa _alles_ an, was dir per Script übergeben wird, bzw. übersetzt es in Scriptintern genutze Variablen? (register_globals)
gruß,
wahsaga
hallo wahsaga,
Aber dafür nimmt man doch normalerweise die Zeit vom Server.
Exakt das tut mein Script auch, und _da_ liegt eben mein Verständnisproblem.
Wie bitte soll dann ein Eintrager, sei der Mensch oder Script, das Datum selber mitgeben können?
Nicht das Datum selbst, aber dessen Format.
Nimmst du etwa _alles_ an, was dir per Script übergeben wird, bzw. übersetzt es in Scriptintern genutze Variablen? (register_globals)
Nein. register_gobals steht auf "off".
Grüße aus Berlin
Christoph S.
Hallo Christoph
Mein Script trägt es ein, und das soll es auch tun. Ich will schon das Datum eines Eintrags haben.
Woher hat das Script das Datum zum eintragen?
... Sondern eben dahin, wie so ein bot _nicht vorhandene_ (nicht einmal "hidden") Formularfelder benutzen kann.
Was nimmt dein Script entgegen?
Wie wird es ausgewertet?
Wird geprüft, ob in den Post-Daten wirklich nur die im Formular definierten
Felder vorhanden sind?
Wird geprüft, ob alle im Formular vorhandene Felder geschickt wurden?
Gibt es in dem Script eine Variable, die kein Formularfeld ist, aber durch
die Post-Daten überschrieben werden kann?
Ich habe keine Ahnung von Servern, von PHP, CGI, Perl usw., aber _das_ würde
ich akribisch kontrollieren.
Auf Wiederlesen
Detlef
hallo Detlef,
Woher hat das Script das Datum zum eintragen?
Vom Server.
Was nimmt dein Script entgegen?
Grmpf. Ich habe im Moment keinen FTP-Zugang, der Provider stellt alles von Debian auf Fedora um. Ich wollte das Script eigentlich auf eine temporäre Adresse zum Nachlesen hochschubsen.
Wird geprüft, ob in den Post-Daten wirklich nur die im Formular definierten
Felder vorhanden sind?
Wird geprüft, ob alle im Formular vorhandene Felder geschickt wurden?
Ja.
Gibt es in dem Script eine Variable, die kein Formularfeld ist, aber durch
die Post-Daten überschrieben werden kann?
Möglicherweise. Es gibt tatsächlich eine script-interne Variable für das Datum, ja. Ich kann die ändern - habe ich bereits getan. Aber jetzt muß ich natürlich abwarten, bis der nächste Spam-Bot vorbeikommt, und dann prüfen, ob er das Datumsformat immer noch ändern kann.
Grüße aus Berlin
Christoph S.
Lieber Christoph,
ich habe gerade einen Eintrag für Dein Gästebuch verfasst und abgeschickt. Er ist aber (noch?) nicht im Gästebuch aufgeführt...
Mein Gästebuchscript gibt die gerade gemachten Eingaben erneut zur Überprüfung (mit Vorschaufunktion) aus, bevor es die Daten endgültig annimmt. Da nach dem ersten Submit noch keine Eintragungen im GB gespeichert werden, bremse ich anscheinend bisher erfolgreich alle automatisierten Einträge aus, nur nicht die von menschlichen Besuchern. Wäre das etwas für Dich?
Liebe Grüße aus Ellwangen,
Felix Riesterer.
hallo Felix,
ich habe gerade einen Eintrag für Dein Gästebuch verfasst und abgeschickt
Laut log hast du das nicht. Der letzte POST-Eintrag (zeitlich vor deinem posting hier) ist von heute nachmittag. Der nächste POST-Eintrag ist von 23:22:37 Uhr, also laut Zeitstempel drei Minuten, nachdem du das hier geschrieben hattest.
Mein Gästebuchscript gibt die gerade gemachten Eingaben erneut zur Überprüfung (mit Vorschaufunktion) aus, bevor es die Daten endgültig annimmt.
Ich habe so eine Funktion auch drin, allerdings nur dann, wenn es einen Fehler gegeben hat.
Da nach dem ersten Submit noch keine Eintragungen im GB gespeichert werden, bremse ich anscheinend bisher erfolgreich alle automatisierten Einträge aus, nur nicht die von menschlichen Besuchern.
Das heißt, deine Vorschau ist obligatorisch und muß grundsätzlich vor der endgültigen Eintragung bestätigt werden?
Wäre das etwas für Dich?
Ich überlege es mir. Es hat aber _eigentlich_ mit meiner Frage nichts zu tun.
Grüße aus Berlin
Christoph S.
Hallo Freunde des gehobenen Forumsgenusses,
Unabhängig von dem aktuellen Rätsel wäre vielleicht ein Bayesscher Filter nützlich:
http://paulgraham.com/spam.html
http://paulgraham.com/better.html
Ich habe diese Artikel gelesen und wollte ausprobieren, wie man so etwas macht (und nebenbei SQL lernen) und habe daher einen solchen Filter in PHP geschrieben:
http://alexanderbrock.de/v-text-categorizer/
Gruß
Alexander Brock
hallo Alexander,
Unabhängig von dem aktuellen Rätsel wäre vielleicht ein Bayesscher Filter nützlich
Unabhängig davon, daß ich das erstmal als "bayerischer Filter" gelesen habe (weia, ich brauche dringend eine neue Brille):
http://paulgraham.com/spam.html
http://paulgraham.com/better.html
Jau, das ist sicher eine hilfreiche Zusatzinformation. Auch wenn es die Frage des Ausgangspostings nur teilweise berührt.
Ich habe diese Artikel gelesen und wollte ausprobieren, wie man so etwas macht (und nebenbei SQL lernen) und habe daher einen solchen Filter in PHP geschrieben:
http://alexanderbrock.de/v-text-categorizer/
Ich bunkere mir das mal und werde bei Gelegenheit darauf zurückkommen. Besten Dank vorerst.
Grüße aus Berlin
Christoph S.
Hi,
ich habe gewohnheitsmäßig ein kleines (zur Zeit PHP-)Gästebuchscript laufen
Was mich wundert, ist etwas anderes: es ist eine Nachlässigkeit in meinem Script (die ich schon lange mal beheben müßte), daß bei den Datumsangaben die Monatsnamen in ihrer englischsprachigen Form angegeben werden - als "January" und "February" und "March". Diese Werbescripts, die mich unter anderem mit Porno-Links in den letzten Tagen ziemlich vollgemüllt haben, tragen aber korrekte "deutsche" Datumsbezeichnungen ein.
Bei dem ganzen Kram, was PHP macht, um es angeblich dem Programmierer einfacher zu machen (addslashes, magic quotes und Konsorten), könnte ich mir durchaus vorstellen, daß PHP auch auf die Idee kommt, den HTTP_ACCEPT_LANGUAGE header auszuwerten ...
cu,
Andreas
Hallo Freunde des gehobenen Forumsgenusses,
Bei dem ganzen Kram, was PHP macht, um es angeblich dem Programmierer einfacher zu machen
Und es damit schwerer und komplizierter und feheranfälliger macht.
(addslashes, magic quotes und Konsorten)
... register_globals, gibt es da noch mehr?
Gruß
Alexander Brock
Hi Alexander,
Bei dem ganzen Kram, was PHP macht, um es angeblich dem Programmierer einfacher zu machen
Und es damit schwerer und komplizierter und feheranfälliger macht.
Das mit dem Accept-Language hatte Ashura anscheinend schon ausprobiert, daran scheint es nicht zu liegen.
(addslashes, magic quotes und Konsorten)
... register_globals, gibt es da noch mehr?
Den Safe-Mode gibts natürlich noch ;-)
MfG, Dennis.
Hello out there!
Was anderes, aber vielleich auch dasselbe: Ich wundere mich auch, dass ein Server bei SSI <!--#config timefmt="%A, der %d. %B %Y" -->
Wochentag und Monatsname meist in Deutsch, mal aber auch in Englisch einfügt.
Zu sehen unter
http://gundi.de/test/datelocal (mit language content negotiation)
http://gundi.de/test/datelocal.de, http://gundi.de/test/datelocal.de.shtml (deutsch)
http://gundi.de/test/datelocal.en, http://gundi.de/test/datelocal.en.shtml (englisch)
See ya up the road,
Gunnar