voorkomen dat formulieren automatisch worden ingevuld

Pagina: 1
Acties:

  • Gerwin
  • Registratie: Juli 2001
  • Laatst online: 08-06-2025

Gerwin

Ik ben er klaar voor!

Topicstarter
Ik zit ff met een probleempje waarvan ik nite weet waar ik nu in vredesnaam verder op moet zoeken en wat nu de beste manier is om zoiets te doen en ik dacht: misschien willen de Tweakertjes me wel even verder helpen. :)

Op een site heb ik een formulier staan, daar kan men bepaalde dingen invoeren in een database, maar ik wil voorkomen dat men automatisch dingen gaan invoeren. Ik wil ze bij submitten een code in laten voeren die niet door een computer van buitenaf gezien of gelezen kan worden. Ik heb zitten denken aan een PHP code, in combi met een GIF plaatje waarom txt te zien is, maar dat zou dan nog door computers ontcijferd kunnen worden. Daarbij komt: hoe weer ik nu zelf in het formulier of men de juiste code heeft ingevoerd die er staat? Dus: hoe kan ik het beste verder gaan en welke richting/termen moet ik zoeken?

Station van Gerwin Prins op Apple Music


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Bedoel je dat je autocomplete features van browsers wilt voorkomen :?

Dat met zo'n GIF plaatje is redelijk waterdicht hoor. Het menselijk brein is toch net even iets beter in dergelijke dingen ontcijferen dan computers... Het is alleen wel een leuk probleem hoe je zo'n plaatje zou willen produceren :)

Maar misschien begrijp ik je wel verkeerd

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Gerwin
  • Registratie: Juli 2001
  • Laatst online: 08-06-2025

Gerwin

Ik ben er klaar voor!

Topicstarter
Nee niet autocomplete van de browsers, men moet toch elke keer wat anders invullen op dat formulier, maar ik wil voorkomen dat ze er gewoon een robotje op af sturen en bijvoorbeeld sites, berichten, en andere spullen "auto submitten", met een botje ofzo. Ik dacht dat af te kunnen vangen met een GIF met een txt erin die het botje niet kan lezen en dus de submit geweigerd word. Kwestie is hoe dat voor elkaar te krijgen dat ook de GIF niet te lezen is door botjes, en wat zijn de termen voor zo'n submit, en inderdaad: hoe krijg je het uiteindelijk voor elkaar. In theorie breek ik mijn hoofd er al over dat ik iets gecodeerd naar de bezoeker moet sturen die het in moet tikken, maar ik moet vervolgens zelf natuurlijk wel kunnen kijken of hij 't goed ingevuld heeft. :)

Station van Gerwin Prins op Apple Music


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Wat jij bedoelt met dat plaatje is feitelijk gewoon een implementatie van een Challenge/response authenticatie ;)

Lees even 't stukje van curry daarover in P&W FAQ - Hoe beveilig ik een website? -> "Gebruik van Challenge/Response bij authenticatie".

edit:
Het enige verschil is dat je feitelijk de user challenged ipv. het client programma.

[ Voor 15% gewijzigd door drm op 06-12-2003 17:16 ]

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
het schijnt dat je als je maar genoeg chaos aanbrengt in het genereren van zo'n plaatje, dus: verschillende fonts in verschillende maten, gedraaid onder random hoeken enzovoorts, de meeste ocr appjes wel het bos ingestuurd worden. moet natuurlijk wel een beetje leesbaar blijven voor mensen :P

  • Gerwin
  • Registratie: Juli 2001
  • Laatst online: 08-06-2025

Gerwin

Ik ben er klaar voor!

Topicstarter
drm schreef op 06 december 2003 @ 17:14:
Wat jij bedoelt met dat plaatje is feitelijk gewoon een implementatie van een Challenge/response authenticatie ;)

Lees even 't stukje van curry daarover in P&W FAQ - Hoe beveilig ik een website? -> "Gebruik van Challenge/Response bij authenticatie".

edit:
Het enige verschil is dat je feitelijk de user challenged ipv. het client programma.
Ja dat lijft er op wat ik zoek inderdaad, alleen heb ik geen gebruikers die in willen loggen ofzo. Je zou het kunnen vergelijken met een Google waar je een site kunt submitten, maar dat niet door botjes wil accepteren.

Volgens dat stukje zou ik een code in de database moeten opslaan en daarvan een md5 naar de bezoeker toe sturen, vervolgens moet die die hele code overtikken en weer terugsturen, als die md5 en die md5 van de code in de database gelijk zijn dan is er geen probleem en is het geen botje die de form wil versturen. Maar hoe kan ik nu zoiets weten als ik misschien wel 10 submits per minuut krijg, en dus door elkaar heen? Hoe weet ik welke ww bij welke user hoort?
Genoil schreef op 06 december 2003 @ 17:17:
het schijnt dat je als je maar genoeg chaos aanbrengt in het genereren van zo'n plaatje, dus: verschillende fonts in verschillende maten, gedraaid onder random hoeken enzovoorts, de meeste ocr appjes wel het bos ingestuurd worden. moet natuurlijk wel een beetje leesbaar blijven voor mensen :P
Dat is ook een punt, maar ik denk dat de eerste zet moet zijn hoe ik nu kan weten of de code juist is en juist van die bepaalde user af komt. :)

[ Voor 50% gewijzigd door Gerwin op 06-12-2003 17:30 ]

Station van Gerwin Prins op Apple Music


  • BraveWorld
  • Registratie: September 2001
  • Niet online
Als je een voorbeeld zoekt voor een implementatie: de forum-software phpBB (www.phpbb.com) heeft tegenwoordig meen ik (optioneel) zo'n trucje in het registratieformulier zitten. Dus een plaatje met een rare letter/cijfer combi die je moet overtypen aleer je registratie geaccepteerd wordt.

Dit is geen signature...


  • Gerwin
  • Registratie: Juli 2001
  • Laatst online: 08-06-2025

Gerwin

Ik ben er klaar voor!

Topicstarter
BraveWorld schreef op 06 december 2003 @ 17:30:
Als je een voorbeeld zoekt voor een implementatie: de forum-software phpBB (www.phpbb.com) heeft tegenwoordig meen ik (optioneel) zo'n trucje in het registratieformulier zitten. Dus een plaatje met een rare letter/cijfer combi die je moet overtypen aleer je registratie geaccepteerd wordt.
Jaaaaaaaa, dat is ut: http://www.phpbb.com/phpB...mode=register&agreed=true :)

Maar nu weet ik nog niet hoe het werkt, ik zal die code eens downloaden van PHPBB. Hoe nu deze url: http://www.phpbb.com/phpB...cea4deedf186e8ea93decdace tot een plaatje met een paar tekentjes komt is mij tot nu nog een raadsel, en hoe weer die server nu dat ik het wel ben die het tikt?

Station van Gerwin Prins op Apple Music


  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
[edit] -1 overbodig

[ Voor 94% gewijzigd door Genoil op 06-12-2003 17:35 ]


Verwijderd

Gerwin schreef op 06 december 2003 @ 17:27:

Dat is ook een punt, maar ik denk dat de eerste zet moet zijn hoe ik nu kan weten of de code juist is en juist van die bepaalde user af komt. :)
Je kunt (als je een beetje bekend bent met GDlib) ook zelf eenvoudig zo'n plaatje genereren (code als text, overlay image met verstoring etc). Schrijf een functie met de unieke code als argument, die door middel van GDlib een dynamisch gegenereerde afbeelding returned.

Sla die unieke code ook in een user sessie (of db) op en je kunt ze daarna met elkaar vergelijken.
PHP:
1
2
3
4
function getCodeImage($code) {
  // blah
  return $image;
}

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Gerwin:
Volgens dat stukje zou ik een code in de database moeten opslaan en daarvan een md5 naar de bezoeker toe sturen, vervolgens moet die die hele code overtikken en weer terugsturen, als die md5 en die md5 van de code in de database gelijk zijn dan is er geen probleem en is het geen botje die de form wil versturen. Maar hoe kan ik nu zoiets weten als ik misschien wel 10 submits per minuut krijg, en dus door elkaar heen? Hoe weet ik welke ww bij welke user hoort?
Elke request krijgt zijn eigen ID. Dus de gebruiker stuurt het volgende (feitelijk) naar de server:
Hoi, server (ben je daar?) ik heb hier een respons op 1 van de plaatjes van jou, en met name het plaatje met id 169. De gebruiker die bij mij het antwoord heeft ingevuld zei dat zpevzj44k hetgeen was wat in het plaatje stond. Klopt dat?
De server zegt dan:
Goh, he, ik zal eens kijken. Euhm, met ID 169, zei je? Hmmm, nou, er bestaat wel / niet een combinatie met die zpevzj44k in mijn tabel in de database!

Dat is ook een punt, maar ik denk dat de eerste zet moet zijn hoe ik nu kan weten of de code juist is en juist van die bepaalde user af komt. :)
Op basis van dat ID wat de client zelf teruggeeft, dus :) Het "response" op wat jij vroeg bij ID 169 is blablabla

Het is natuurlijk raadzaam om aan zo'n "response / ID" combinatie in de database dan ook een bepaalde tijd te koppelen, in de strekking van: Als je na meer dan 5 minuten nog eens komt vertellen wat voor antwoord je hebt, dan kan je het wel shaken. Ook natuurlijk niet vergeten de entry in de database te verwijderen zodra er een juiste "response" op gekomen is ;)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

Het is natuurlijk raadzaam om aan zo'n "response / ID" combinatie in de database dan ook een bepaalde tijd te koppelen, in de strekking van: Als je na meer dan 5 minuten nog eens komt vertellen wat voor antwoord je hebt, dan kan je het wel shaken.
Houdt er alleen wel rekening mee dat als het gaat om downloads dat je de user wel genoeg tijd gunt om deze af te maken ;)

  • mr.inno
  • Registratie: April 2003
  • Laatst online: 22-02 15:03
drm schreef op 07 december 2003 @ 05:21:

Het is natuurlijk raadzaam om aan zo'n "response / ID" combinatie in de database dan ook een bepaalde tijd te koppelen, in de strekking van: Als je na meer dan 5 minuten nog eens komt vertellen wat voor antwoord je hebt, dan kan je het wel shaken. Ook natuurlijk niet vergeten de entry in de database te verwijderen zodra er een juiste "response" op gekomen is ;)
hmm ja sessions... als het brouwser venster gesloten word is de session ook weg velig genoeg dus

inno


  • Gerwin
  • Registratie: Juli 2001
  • Laatst online: 08-06-2025

Gerwin

Ik ben er klaar voor!

Topicstarter
Dus ik moet zegmaar in PHP een code maken bijvoorbeeld ID 882 en daar dynamisch een code uit laten voortvloeien, die vervolgens opslaan in de database. En in het formulier die ID 822 in een verborgen veld zetten, en die dynamische code in een plaatje laten weergeven. De user moet dan die dynamische code intikken waarna als men het verstuurd heeft de server kijkt of die dynamische code inderdaad bij ID 822 (die dus ook via een verborgen veld meegestuurd word hoort. Als dat het geval is dan is het goed, anders is het niet goed, right?

Hoe dat met sessies gaat daar zou ik nog wel wat meer informatie over willen hebben, hoe kan de server nu weten of de browser gesloten is.... dit kun je wel doen met een javascript functie... of is dat wat ik hierboven geschreven heb juist wat jullie bedoelen met sessies?

Station van Gerwin Prins op Apple Music


  • Justice
  • Registratie: Maart 2001
  • Laatst online: 07-08-2025
Als je .GIF plaatjes gaat gebruiken, zou je er wel voor kunnen zorgen dat je op een andere manier (via een email sturen ofzo) ook iets toe kan voegen, tenminste als het voor op het web is. Text browsers, minder goed zienden en anderen met een screenreader kunnen zo'n afbeelding niet ontcijferen. (en willen soms wel iets kopen voor vrienden e.d)

Human Bobby

Pagina: 1