Hallöchen,
ich überlege mir grade, wie man es denn technisch umsetzen könnte, dass es Bots möglichst schwer haben, Spam (z.B. Kommentare) abzusetzen, aber gleichzeitig Benutzer nicht zu sehr genervt werden.
Wir schwebt da sowas in der Art vor...
- Formularfelder haben zufällige Namen (E-Mail hat beim ersten Aufruf etwa den Namen "kdfh87jkhkjfhd", beim zweiten "jkfdhvkj7867jhfdsjkh" oder so)
- Im Hidden-Feld steht ein Hash drin, der in der DB den Zufall entwirrt
- Jedes Feld wird auf Richtigkeit geprüft (beispielsweise E-Mail-Adressen)
Das wäre dann in etwa so, dass sich das System bei jedem Aufruf eines Formulars eine Konstellation ausdenkt und der Hash, der gebraucht wird, aus irgendeiner ID und dem Zeitpunkt besteht, zu dem das Formular generiert wurde. Nachdem das Formular abgeschickt wurde, verfällt dieser Zusammenhang.
Da die ID ja unbekannt ist (und technisch gar nicht gebraucht wird, eigentlich), ist ein Formular also nur genau einmal gültig.
Ich stelle mir grade vor, dass das ziemlich wasserdicht sein müsste, bin mir nur grad nicht ganz sicher, ob das mit der Performance so eine gute Idee ist. Denn normalerweise hätte ich alles cachen wollen (Content z.B.), aber für diese Technologie wegen Spam wärs notwendig, pro Formularaufruf (bei Weblogs wäre das ja in etwa jede Seite, wegen Kommentarfeld) ein Query abzufeuern, was dann den Cache-Vorteil wieder auffressen würde.
Andererseits wärs dann pro Content-Seite auch nur ein zweiter Query (der erste wär für die Kommentare an sich), was wiederrum wenig wäre.
Gibts zu der Idee evtl. Meinungen? Liege ich falsch mit meiner Vorstellung?
ich überlege mir grade, wie man es denn technisch umsetzen könnte, dass es Bots möglichst schwer haben, Spam (z.B. Kommentare) abzusetzen, aber gleichzeitig Benutzer nicht zu sehr genervt werden.
Wir schwebt da sowas in der Art vor...
- Formularfelder haben zufällige Namen (E-Mail hat beim ersten Aufruf etwa den Namen "kdfh87jkhkjfhd", beim zweiten "jkfdhvkj7867jhfdsjkh" oder so)
- Im Hidden-Feld steht ein Hash drin, der in der DB den Zufall entwirrt
- Jedes Feld wird auf Richtigkeit geprüft (beispielsweise E-Mail-Adressen)
Das wäre dann in etwa so, dass sich das System bei jedem Aufruf eines Formulars eine Konstellation ausdenkt und der Hash, der gebraucht wird, aus irgendeiner ID und dem Zeitpunkt besteht, zu dem das Formular generiert wurde. Nachdem das Formular abgeschickt wurde, verfällt dieser Zusammenhang.
Da die ID ja unbekannt ist (und technisch gar nicht gebraucht wird, eigentlich), ist ein Formular also nur genau einmal gültig.
Ich stelle mir grade vor, dass das ziemlich wasserdicht sein müsste, bin mir nur grad nicht ganz sicher, ob das mit der Performance so eine gute Idee ist. Denn normalerweise hätte ich alles cachen wollen (Content z.B.), aber für diese Technologie wegen Spam wärs notwendig, pro Formularaufruf (bei Weblogs wäre das ja in etwa jede Seite, wegen Kommentarfeld) ein Query abzufeuern, was dann den Cache-Vorteil wieder auffressen würde.
Andererseits wärs dann pro Content-Seite auch nur ein zweiter Query (der erste wär für die Kommentare an sich), was wiederrum wenig wäre.
Gibts zu der Idee evtl. Meinungen? Liege ich falsch mit meiner Vorstellung?