Ik zou hier voor mijn site een simpele webform willen maken maar toch wel met enige beveiliging tegen spam. Ik heb bijna geen php en scripting kennis. Ik had ondertussen wel al een voorbeeld gevonden met captcha maar ik versta niet goed hoe ik dit kan achter mijn verzendknop kan steken.
Heeft er iemand een voorbeeldje liggen of weet er iemand een andere werkwijze?
Alvast bedankt
Jo
Webform met spambeveiliging
-
- Elite Poster
- Berichten: 2187
- Lid geworden op: 01 feb 2003, 11:58
- Uitgedeelde bedankjes: 44 keer
- Bedankt: 12 keer
Simpel eigenlijk, captcha gaat random wat cijfer als letter genereren en via gd een image er van maken. Als je dan op submit drukt moet je controleren als de ingegeven code gelijk is aan de oorspronkelijke cijfers en letter. Als dit zo is (if(bla == bla) laat je je form verdergaan, als dit niet zo is (else) laat je een message zien dat de ingegeven chars niet overeen komen.
Ik vermoed dat dit dan wel via een php script zal moeten gaan en niet via een standaard form van frontpage?crapiecorn schreef:Simpel eigenlijk, captcha gaat random wat cijfer als letter genereren en via gd een image er van maken. Als je dan op submit drukt moet je controleren als de ingegeven code gelijk is aan de oorspronkelijke cijfers en letter. Als dit zo is (if(bla == bla) laat je je form verdergaan, als dit niet zo is (else) laat je een message zien dat de ingegeven chars niet overeen komen.
-
- Elite Poster
- Berichten: 2187
- Lid geworden op: 01 feb 2003, 11:58
- Uitgedeelde bedankjes: 44 keer
- Bedankt: 12 keer
Ja, mijn voorkeur gaat naar php. Maar forms behandelen kan je in elke web gebaseerde programmeertaal.Djorre schreef:Ik vermoed dat dit dan wel via een php script zal moeten gaan en niet via een standaard form van frontpage?crapiecorn schreef:Simpel eigenlijk, captcha gaat random wat cijfer als letter genereren en via gd een image er van maken. Als je dan op submit drukt moet je controleren als de ingegeven code gelijk is aan de oorspronkelijke cijfers en letter. Als dit zo is (if(bla == bla) laat je je form verdergaan, als dit niet zo is (else) laat je een message zien dat de ingegeven chars niet overeen komen.
-
- Deel van't meubilair
- Berichten: 29849
- Lid geworden op: 28 okt 2003, 09:17
- Uitgedeelde bedankjes: 434 keer
- Bedankt: 1972 keer
Dergelijke controle moet inderdaad altijd server side gebeuren omdat veel spammers tools gebruiken die je form zelfs niet aanspreken maar rechtstreeks de rommel posten.Djorre schreef:Ik vermoed dat dit dan wel via een php script zal moeten gaan en niet via een standaard form van frontpage?
- Ofloo
- Elite Poster
- Berichten: 5271
- Lid geworden op: 04 okt 2004, 07:36
- Locatie: BALEN
- Uitgedeelde bedankjes: 57 keer
- Bedankt: 92 keer
Code: Selecteer alles
if (!extension_loaded("session")) {
die("Coudn't locate the required session module.");
};
session_start();
function gen($length) {
$r = NULL;
for($i=0; $i<$length; $i++) {
while($i < $length) {
$rand = rand(48,122);
if((($rand >= 48) && ($rand <= 57)) || (($rand >= 65) && ($rand <= 90)) || (($rand >= 97) && ($rand <= 112))) {
break;
};
};
$r .= sprintf("%c",$rand);
};
return($r);
};
$_SESSION['secret'] = gen("6");
header("Content-type: image/png");
$image = imagecreatefrompng("validate_bg.png");
$tc = imagecolorallocate($image, 73, 81, 92);
imagestring($image,5,5,2,$_SESSION['secret'],$tc);
imagepng($image);
imagedestroy($image);
Ik weet niet of het de beste manier is, maar het werkt en 'k heb het een lange tijd geleden geschreven.
code wegschrijven in php file en gewoon aanroepen als een image in html.
Een simpele google kan u ook al veel mooie code voorbeelden geven
http://www.sitemasters.be/?pagina=tutor ... t=4&id=463
http://www.phphulp.nl/php/scripts/8/428/
http://www.joriso.nl/verhaaltjes-webdev ... cha-2.html
http://www.sitemasters.be/?pagina=tutor ... t=4&id=463
http://www.phphulp.nl/php/scripts/8/428/
http://www.joriso.nl/verhaaltjes-webdev ... cha-2.html