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: 2149
- 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.
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.
Ik vermoed dat dit dan wel via een php script zal moeten gaan en niet via een standaard form van frontpage?
-
- Elite Poster
- Berichten: 2149
- Lid geworden op: 01 feb 2003, 11:58
- Uitgedeelde bedankjes: 44 keer
- Bedankt: 12 keer
Djorre schreef: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.
Ik vermoed dat dit dan wel via een php script zal moeten gaan en niet via een standaard form van frontpage?
Ja, mijn voorkeur gaat naar php. Maar forms behandelen kan je in elke web gebaseerde programmeertaal.
-
- Deel van't meubilair
- Berichten: 29849
- Lid geworden op: 28 okt 2003, 09:17
- Uitgedeelde bedankjes: 446 keer
- Bedankt: 1985 keer
Djorre schreef:Ik vermoed dat dit dan wel via een php script zal moeten gaan en niet via een standaard form van frontpage?
Dergelijke controle moet inderdaad altijd server side gebeuren omdat veel spammers tools gebruiken die je form zelfs niet aanspreken maar rechtstreeks de rommel posten.
- Ofloo
- Elite Poster
- Berichten: 5263
- 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);
dan moet je alleen nog een validate_bg.png om de achtergrond, en $_SESSION['secret'] vergelijken met form input.
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.
- Snakehit
- Elite Poster
- Berichten: 806
- Lid geworden op: 05 mei 2004, 15:37
- Locatie: Izegem, Belgie
- Contacteer:
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