Gegroet allen,
Ik heb een Website gebouwd, al een tijd geleden. Hierin zit een zelfgemaakt, eenvoudig gastenboek. Dit wordt zwaar ondergespammed met reklame voor viagra en andere zooi.(per minuut een berichtje gemiddeld)
Dus besloot ik daar wat aan te doen.
Ik schreef dus een php scriptje dat een afbeelding als output heeft. Deze afbeelding bevat een 5 cijferige random code (ingebakken in de afbeelding dus), waar ik her en der nog wat pixels van kleur verwissel om OCR moeilijker te maken. De gebruiker moet deze code overtypen in een textvakje.
De code die in mijn afbeelding zit, wordt opgeslagen in een database. Tesamen met deze code (die ik 'value' noem) wordt ook een key opgeslagen. Deze key, overigens ook random waarde van 5 cijfers, wordt als hidden veld meegegeven in mijn post-form.
als iemand wat wil invoeren gebeuren volgende zaken:
ik vang de key op uit het form.
deze key gebruik ik om in de database de bijhorende value op te halen.
ik vang de code op die de gebruiker overgetypt heeft.
ik vergelijk beide waarden.
Zijn deze hetzelfde, dan gaat de post de database in, anders niet.
Bovenstaande redenering lijkt me logisch. Ze werkt overigens ook. Al ik geen of een foute code overtyp, verschijnt m'n post niet, en bij een juiste key wel.
Maar dit lijktgeen oplossing te zijn tegen spammers! Ze posten nog steeds in mijn gastenboek!
waar gaat mij redenering verkeerd? of waar zit mijn fout? iemand een idee?
bedankt...
Ik heb een Website gebouwd, al een tijd geleden. Hierin zit een zelfgemaakt, eenvoudig gastenboek. Dit wordt zwaar ondergespammed met reklame voor viagra en andere zooi.(per minuut een berichtje gemiddeld)
Dus besloot ik daar wat aan te doen.
Ik schreef dus een php scriptje dat een afbeelding als output heeft. Deze afbeelding bevat een 5 cijferige random code (ingebakken in de afbeelding dus), waar ik her en der nog wat pixels van kleur verwissel om OCR moeilijker te maken. De gebruiker moet deze code overtypen in een textvakje.
De code die in mijn afbeelding zit, wordt opgeslagen in een database. Tesamen met deze code (die ik 'value' noem) wordt ook een key opgeslagen. Deze key, overigens ook random waarde van 5 cijfers, wordt als hidden veld meegegeven in mijn post-form.
als iemand wat wil invoeren gebeuren volgende zaken:
ik vang de key op uit het form.
deze key gebruik ik om in de database de bijhorende value op te halen.
ik vang de code op die de gebruiker overgetypt heeft.
ik vergelijk beide waarden.
Zijn deze hetzelfde, dan gaat de post de database in, anders niet.
Bovenstaande redenering lijkt me logisch. Ze werkt overigens ook. Al ik geen of een foute code overtyp, verschijnt m'n post niet, en bij een juiste key wel.
Maar dit lijktgeen oplossing te zijn tegen spammers! Ze posten nog steeds in mijn gastenboek!
waar gaat mij redenering verkeerd? of waar zit mijn fout? iemand een idee?
bedankt...