![]() |
AW: Forum-Spamanmeldungen?
Zitat:
Aber die Idee ist ganz nett. |
AW: Forum-Spamanmeldungen?
Zitat:
Zitat:
Nehmen wir dein Beispiel (id=mytext). Der HTML-Code wird ja durch eine PHP-Datei erzeugt, also kann ich die ID ersetzen, schematisch:
PHP-Quellcode:
Dann habe ich eine gemeinsame Funktion die auf einen geheimen "Schlüssel" (bei mir außerhalb von Docroot) zugreifen kann, der als Salt dient. Nennen wir diese Stringvariable saltkey.
<input type="text" id="<?php echo salted("mytext"); ?>" />
Dann könnte ich (hoffentlich habe ich die PHP-Syntax noch halbwegs drauf) folgendes machen:
PHP-Quellcode:
Nun steht also statt des Originalfeldes mit der ID 'mytext' das Feld mit der ID 'x_ABCDEF01234567899876543210FEDCBA' (das x_ ist dazu da zu verhindern daß die ID mit einer Ziffer beginnt, was in gewissen Konfigurationen Probleme bereiten kann).
function salted($string)
{ return 'x_' . md5($_SERVER['REMOTE_ADDR'] . $string . $saltkey); } Diese ID verändert sich mit jedem Aufruf von einer anderen IP oder bspw. anderem Browser ... war immer man außer $_SERVER['REMOTE_ADDR'] eben noch so mit reinnimmt. Dadurch muß der Bot schon schlau sein, um die korrekt Position zu ermitteln. Man sollte aber ggf. auch die sichtbaren Strings mit diversen Methoden auf HTML-Ebene verschleiern (weißer Hintergrund, Schriftzug mit fester Länger worin der Name, also bspw. 'Email', 'Passwort', versteckt wird ;)). Der Empfänger des Formulars verfügt über die gleichen Daten (eben IP, Browserkennung usw.) und kann daher den korrekten Namen des abgeschickten Feldes ermitteln und auswerten ... Zitat:
|
AW: Forum-Spamanmeldungen?
Zitat:
|
AW: Forum-Spamanmeldungen?
Äh danke erstmal. Habe ich das nun richtig verstanden, dass du lediglich die ID verschleierst, dich aber nicht wirklich gegen Bots schützt? Der Bot weiß nun anhand der ID nicht, was in welches Feld gehört, da anstelle von "email" nun "x_..." da steht, mehr nicht.
Aber das Formular können Bots dennoch absenden und durch Probieren auch korrekte Einträge machen. Was gut gegen Bots hilft ist eine Mindestzeit zu definieren, die zwischen Aufruf und Absen des des Formulars vergehen muss. Setzt man das auf 5 Sekunden, kommt kein Bots durch, zumindest war's bei mir so. Bots senden die nämlich normalerweise in < 1 Sekunde ab bzw. senden die Postdaten direkt. |
AW: Forum-Spamanmeldungen?
Zitat:
Zitat:
Zitat:
Zitat:
|
AW: Forum-Spamanmeldungen?
@Assarbad: wenn du dann noch eine Mapping-Tabelle erstellst in der du fuer eine bestimmte session_id die Zuordnungen der Formularfelder (Originalname => salted) speicherst dann kannst du auch auf einen Algorithmus setzen, der bei jedem Aufruf einen neuen zufaelligen Namen generiert. So bist du nur noch von der Session abhaengig und der "verschluesselte" Name kann nicht mehr zuverlaessig berechnet werden.
Greetz alcaeus |
AW: Forum-Spamanmeldungen?
Zitat:
Dank des Salts ist auch jetzt schon keine zuverlässige Berechnung der Namen für Außenstehende möglich, es sei denn sie kennen das Geheimnis (i.e. saltkey). Würde man den oben gezeigten Code weiterhin so modifizieren, daß man den Vorschlag mit der Zeit einfließen lassen würde, könnte man das Formular sogar anhand des aktuellen Datums oder der aktuellen Zeit "salzen" (also immer intervallweise). Dadurch gäbe es keine Brüche wann immer der Tag endet oder eine Stunde wechselt. Alle die länger als das Intervall mit dem Ausfüllen warten, haben allerdings ein Problem ;) Aber coole Idee. Werde mir das alles mal notieren. Vielleicht mache ich daraus ja mal eine Erweiterung, statt es nur im VCS zu pflegen ;) |
AW: Forum-Spamanmeldungen?
Vieleicht bin ich zu naiv, aber werden Eingabe Felder heutzutage nicht mehr beschriftet? Wieso sollte ein Bot sich auf die ID eines Feldes verlassen, wenn er wie ein Mensch das Label zu dem Feld nehmen kann?
Aber eventuell versteh ich Assarbads slzige Lösung auch nicht. :D Sherlock |
AW: Forum-Spamanmeldungen?
Zitat:
Bernhard ADD: Das Label-Tag ist nicht vorgeschrieben und ich denke mal, dass meist der Beschreibungstext einfach nur in räumlicher Nähe steht. |
AW: Forum-Spamanmeldungen?
Wir haben mal testweise auf das
![]() Sieht auch sonst nicht schlecht aus. Werde wohl mal die Vollversion kaufen (50 Eu). Gibt es Erfahrungen/Meinungen? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz