hilfdirselbst.ch
Facebook Twitter gamper-media
Forenindex -- Lesezeichen

4 Lesezeichen für formular

erstes formularfeld gillt für alle anderen
hallo darksky,

probier mal soetwas in der Art:

Code
<script type="text/javascript"><!-- 
function nachuntenfuellen(o){
var wert = o.value;
var formName = o.form.name
var start = (o.name) * 1;
var stop = (o.form[o.form.length - 1].name) * 1;
for(var z = start; z < stop; z++){
document[formName][''+z].value = wert;
}
}
// --!>
</script>
Nach unten ausfüllen
<form name="formular">
<input name="1" onkeyup="nachuntenfuellen(this)"><br>
<input name="2" onkeyup="nachuntenfuellen(this)"><br>
<input name="3" onkeyup="nachuntenfuellen(this)"><br>
<input name="4" onkeyup="nachuntenfuellen(this)"><br>
<input name="5" onkeyup="nachuntenfuellen(this)"><br>
<input name="6" onkeyup="nachuntenfuellen(this)"><br>
<input name="7" onkeyup="nachuntenfuellen(this)"><br>
</form>

...
oesi50
26. Jan 2009, 12:35
||||| Wie kann ich effektiv Formularspam verhindern?
Aus gegebenem Anlass fasse ich mal zusammen, wie man effektiv Formularspam verhindern kann, ohne den Komfort für die Benutzer einzuschränken.


1. Aus Subject, From und To unbedingt die Zeilenumbrüche entfernen

s/[\r\n]//g


2. Alle Felder unbedingt auf Plausibilität prüfen.

Im Zeitalter der regulären Ausdrücke sollte das kein Problem sein.

Einige Beispiele:

email prüfen: /^([a-zA-Z0-9\-\.\_]+)@([a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,4})$/
Telefonnummer prüfen: /[\d-\/()+\/ ]+/

3. HTTP-Header auf Existenz/Gültigkeit prüfen

HTTP_USER_AGENT
HTTP_ACCEPT
HTTP_ACCEPT_LANGUAGE
HTTP_ACCEPT_CHARSET

4. Ein Zeitfenster bestimmen, in dem die Formulardaten gültig sind.

In einem HIDDEN-Feld wird beim Formularaufruf ein Zeitstempel mitgeschickt.
Dieser wird beim Empfang der Daten überprüft. Es müssen sowohl eine Mindestzeit als auch eine Maximalzeit abgeprüft werden.
(Nach meinen Erfahrungen ist als Mindestzeit 8 Sekunden und als Maximalzeit 20 Minuten ausreichend)

5. Mehrfaches Abschicken von Formularen verhindern.

Mit einem zusätzlichen HIDDEN-Feld eine UNIQUE_ID mitschicken und beim Empfang
prüfen, ob diese Formular-ID schon verarbeitet wurde.

6. Punkt 4 und 5 sollten kombiniert werden.

und bei jeder Scriptinstallation geringfügig variieren. Damit wird automatischer Spam ganz erheblich erschwert.

7. Keine E-Mail Adressen in HIDDEN-Feldern übergeben.

Das sollte selbstverständlich sein.

8. Ausschließlich nur POST Variablen verarbeiten.

Das sollte selbstverständlich sein.

9. Wenn möglich, nur eingeloggte Benutzer zulassen

Das ist nicht immer realisierbar, sollte aber bevorzugt werden.


10. Eine Kopie der Fehlversuche an einen Überwachungsaccount senden.

Damit besteht die Möglichkeit, zu erkennen, wenn Spamversuche stattfinden.
Gegebenenfalls können die betreffenden IP-Nummern rechtzeitig gesperrt werden.

Alle Punkte ergeben, zusammen angewendet, ein sehr hohes Maß an Schutz.

Update:
In der Zwischenzeit sind noch einige pfiffige Tricks dazugekommen

11. Trigger einbauen
Bei der Formularauswertung wird geprüft, ob in einem bestimmten Zeitraum eine vorgegebene Seite aufgerufen wurde. Wenn nicht, ist es ein untrügliches Anzeichen für einen Spider/Bot.

12. Anbieten einer Vorschau
Automatische Spider können nicht unterscheiden, welcher Button das endgültige Abschicken auslöst.
So wird immer nur die Vorschau aufgerufen und damit keine weitere Wirkung erzielt.
...
oesi50
7. Mär 2006, 13:52
||| File und Adresse per Mail senden
Ja, das ist eine Spamschleuder allererster Güte. Man kann damit sogar Leute mit attachments zumüllen, ein Novum :)
...
ganesh
28. Apr 2007, 12:56
Gefährliche Formulare
Hallo

Unser Formular wurde soeben für Spam benutzt, irgendwo haben Sie MIME-Version 1.0 eingeschläust und via BCC jemanden belästigt. . .

Wollte mal nachfragen, ob nachfolgender PHP-Code ausreicht um dies definitif zu stoppen ?

$societe = preg_replace( "/[^a-z0-9 !?:;,.\/_\-=+@#$&\*\(\)]/im", "", $_POST['societe'] );
$societe = preg_replace( "/(content-type:|bcc:|cc:|to:|from:)/im", "", $societe);
//dies natürlich in allen feldern

Oder muss ich da noch härteres Geschütz auffahren ?

Besten Dank für tipps und tricks
jurg...
jrandi
3. Mär 2006, 14:38