[PHP] Data verificatie code via jpeg's

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb sinds kort een klein testje lopen met een x-aantal afgeschermde pagina's. De verificatie wordt nu uitgevoerd via een MySQL server, waarin een tabel staat met gebruikers en wachtwoorden. Dit werkt prima, maar ik wil nu graag een extra verificatie/login slag inbouwen.

Ik heb op diverse pagina's gezien dat het mogelijk is om d.m.v. jpgs of gifs een code weer te geven, die vervolgens ingetypt moet worden door de gebruiker. Zo zouden dus kwaadwillenden met scripts minder snel toegang kunnen krijgen.

Heeft iemand hier ervaring mee, en hoe zou ik dit het beste aan kunnen pakken?

B.v.d.

Acties:
  • 0 Henk 'm!

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
http://jayseae.cxliv.org/...ation_image_with_php.html

En zoeken op Google met verification en image leverde mij de volgende resultaten op:
http://www.google.nl/sear...&q=verification+image&lr=

Acties:
  • 0 Henk 'm!

  • twiekert
  • Registratie: Februari 2001
  • Laatst online: 30-08 11:55
1. genereer een random string
2. sla string tijdelijk op op server (bijv in een session)
3. geneer image met string


1. user kijk op login pagina, moet username, wachtwoord en string invullen
2. check of ingevulde string overeenkomt met session, zoja login ok, zo nee genereer een nieuwe random string

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:44

gorgi_19

Kruimeltjes zijn weer op :9

Die techniek heet Captcha, als ik het goed heb :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Verwijderd schreef op donderdag 27 januari 2005 @ 12:43:
Dit werkt prima, maar ik wil nu graag een extra verificatie/login slag inbouwen.
Zijn de wachtwoorden niet sterk genoeg dan?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Zijn de wachtwoorden niet sterk genoeg dan?
Op zich wel, maar de data is dermate gevoelig dat ik uit wil sluiten dat scripters toegang vinden tot de pagina's.

Ben ook de mogelijkheid aan het onderzoeken of ik certificaten kan gaan gebruiken. Maar daar heb ik helemaal (nog) geen kaas van gegeten.

Acties:
  • 0 Henk 'm!

Verwijderd

Je kunt captcha's gebruiken, je kunt ook challenge response gebruiken, maar net wat je wilt :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
code:
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$img = imagecreate(40, 20);
$white = imagecolorallocate($img, 255, 255, 255);
$brown = imagecolorallocate($img, 51, 0, 0);
srand((double)microtime()*1000000);
$string = md5(rand(0,9999));
$verify_string = substr($string, 3, 4);
imagefill($img, 0, 0, $brown);
imagestring($img, 3, 6, 3, $verify_string, $white);
imagepng($img, "verify.png");
imagedestroy($img);
?>


Dit gevonden via http://jayseae.cxliv.org/...ation_image_with_php.html
Hierna via html de .png laten verschijnen. Alleen nog even zorgen dat ie een session variabele aanmaakt met de code.

Het gaat wel lukken. Dank jullie voor de input.

Acties:
  • 0 Henk 'm!

  • Radiant
  • Registratie: Juli 2003
  • Niet online

Radiant

Certified MS Bob Administrator

Je kan ook gewoon een PHP script gebruiken als image hoor, hoef je het niet op te slaan dus ook geen kans dat het image overschreven wordt terwijl iemand anders het aan het downloaden is (edit: of dat iemand een verkeerd image krijgt omdat toevallig in die tussentijd een nieuw image is aangemaakt).

[ Voor 24% gewijzigd door Radiant op 27-01-2005 13:56 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Je kan ook gewoon een PHP script gebruiken als image hoor, hoef je het niet op te slaan dus ook geen kans dat het image overschreven wordt terwijl iemand anders het aan het downloaden is (edit: of dat iemand een verkeerd image krijgt omdat toevallig in die tussentijd een nieuw image is aangemaakt).
Uhm....je bedoeld dat ik de image niet opsla, ok. Maar hoe geef ik die image dan weer?

Acties:
  • 0 Henk 'm!

  • Helmet
  • Registratie: Januari 2002
  • Laatst online: 21-08 15:00
[img]"jescript.php"[/img]
je moet alleen zorgen dat je script d ejuiste headers mee stuurt ;)

[ Voor 65% gewijzigd door Helmet op 27-01-2005 14:03 ]

Icons are overrated


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
[img]"jescript.php"[/img]
je moet alleen zorgen dat je script d ejuiste headers mee stuurt ;)
Tja, en nu ben ik de weg kwijt. bedoel je zoiets:

code:
1
2
3
<?php
  header("Content-type: image/png");
?>


Of vergeet ik nou iets? Zou je misschien een voorbeeld kunnen geven met het stukje script wat ik boven heb staan?

Acties:
  • 0 Henk 'm!

  • b19a
  • Registratie: September 2002
  • Niet online
volgens mij moet het zo willen werken:

[quote]<?php
header("Content-type: image/png");

$img = imagecreate(40, 20);
$white = imagecolorallocate($img, 255, 255, 255);
$brown = imagecolorallocate($img, 51, 0, 0);
srand((double)microtime()*1000000);
$string = md5(rand(0,9999));
$verify_string = substr($string, 3, 4);
imagefill($img, 0, 0, $brown);
imagestring($img, 3, 6, 3, $verify_string, $white);
imagepng($img);
imagedestroy($img);
?>

en dan kun je het plaatje opvragen zoals hierboven vermeld.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Vraag voldoende beantwoord. Kan nu verder. Topic mag dicht denk ik.

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:44

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op donderdag 27 januari 2005 @ 14:48:
Vraag voldoende beantwoord. Kan nu verder. Topic mag dicht denk ik.
Waarom moet hij dicht? :) Anderen kunnen best verder gaan met de discussie :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

Verwijderd

Hij moet dicht omdat hij dat vind, en wil stoer zijn , Hij wil moderator worden op tweakers :)

Sorry kon het niet laten :)


Maar voor extra beveiliging kan je ook kijken of het misschien handig is om na 3 mislukte pogingen,

binnen 10 minuten bijv. Zijn ip 1 uur lang te blocken.

[ Voor 41% gewijzigd door Verwijderd op 27-01-2005 16:26 ]


Acties:
  • 0 Henk 'm!

  • Anders
  • Registratie: December 2000
  • Laatst online: 13-09 18:52
Verwijderd schreef op donderdag 27 januari 2005 @ 13:48:
Op zich wel, maar de data is dermate gevoelig dat ik uit wil sluiten dat scripters toegang vinden tot de pagina's.
Let wel dat dit slechts tot op zekere hoogte zal werken. Ik heb met een populaire campagne meegemaakt dat mensen alles automatiseerden, en dat overtypen deden via een programmaatje waarin je bovenin het plaatje zag en je onderin enkel een invulveld te zien kreeg. Enige wat je hoefde te doen, was de code overtypen.. En dat achter elkaar, achter elkaar, achter elkaar etc etc etc.

Dat zou je kunnen verhelpen met een tijdslot op IP-adres (1 entry in de x uur), maar nieuwe versies van het programmaatje werkten via proxy-anonimizers waardoor telkens verschillende IP-adressen werden gebruikt. We zijn toen zelf bezig geweest om ca 25.000 veelgebruikte proxy-IP-adressen te verzamelen. Mensen met een IP-adres uit die lijst kregen vervolgens een string voorgeschoteld die drie keer zo lang was en extra moeilijk leesbaar was. Daarmee ging de lol er ook voor de die-hards snel af.

Enfin, neemt niet weg dat de captcha-techniek zeer nuttig kan zin en ik verbaas me erover dat-ie nog zo weinig wordt gebruikt.

Ik spoor veilig of ik spoor niet.


Acties:
  • 0 Henk 'm!

  • Banpei
  • Registratie: Juli 2001
  • Laatst online: 25-10-2022

Banpei

Hachiroku on this touge?

Diegene die jij gebruikt is gevoelig voor ocr (standaard lettertype, alleen b/w), dus kijk ook eens naar deze captcha:
http://php.webmaster-kit.com/

Overigens is dit ook een leuk gegeven:
http://www.boingboing.net...solving_and_creating.html

AE86 gevonden! | So what I thought I'd do was, I'd pretend to be one of those deaf-mutes.


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Deze techniek is niet bedoeld voor het 'veiliger' maken van je pagina's, slechts om het automatisch genereren van een login onmogelijk te maken.

Denk dat het in jouw geval dus weinig nut heeft :?

[edit]

Tenzij je het bij iedere login wilt gaan doen natuurlijk.... al lijkt me dat niet echt gebruiksvriendelijk..

[ Voor 24% gewijzigd door Bosmonster op 27-01-2005 17:12 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Ik geef zelf ook liever de voorkeur voor challenge response dan captcha. Er zijn al diverse captcha scanners beschikbaar die alleen de moeilijke captcha's niet kunnen uitvogelen. Daarnaast zijn ze ook nog is vaak slecht leesbaar.

Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Anders schreef op donderdag 27 januari 2005 @ 16:45:
Enfin, neemt niet weg dat de captcha-techniek zeer nuttig kan zin en ik verbaas me erover dat-ie nog zo weinig wordt gebruikt.
Omdat ze zo vervelend zijn voor 'normale' gebruikers.

Acties:
  • 0 Henk 'm!

  • kamerplant
  • Registratie: Juli 2001
  • Niet online
Verwijderd schreef op donderdag 27 januari 2005 @ 17:00:
Ik geef zelf ook liever de voorkeur voor challenge response dan captcha. Er zijn al diverse captcha scanners beschikbaar die alleen de moeilijke captcha's niet kunnen uitvogelen. Daarnaast zijn ze ook nog is vaak slecht leesbaar.
Captcha moet je ook zien als hoge drempel. De meeste mensen zullen echt niet de moeite nemen om ingewikkelde ORC scanners te vinden/maken/af te stellen.
Wat is het idee achter challenge response?

🌞🍃


Acties:
  • 0 Henk 'm!

Verwijderd

DataBeest schreef op donderdag 27 januari 2005 @ 17:51:
[...]

Captcha moet je ook zien als hoge drempel. De meeste mensen zullen echt niet de moeite nemen om ingewikkelde ORC scanners te vinden/maken/af te stellen.
Wat is het idee achter challenge response?
Dat je serverside een code genereerd, de zgn. challenge. Clientside wordt adhv deze challenge met MD5 gecodeerd, de zgn. response, en vervolgens vergeleken met de challenge serverside.
Pagina: 1