login  Naam:   Wachtwoord: 
Registreer je!
 Nota's op tutorial:

Tutorials > PHP > 'Captcha' Beveiliging Maken
Pagina:

Reacties op de tutorial 'Captcha' Beveiliging Maken


Offline  ikkedikke
Gepost op: 06 augustus 2006 - 15:58
PHP expert

Wat je evt. nog toe zou kunnen voegen is de werkelijke denkwijze die hoort bij zo'n plaatje.
je ziet heel vaak op het forum dat mensen alles door elkaar doen door bijv. ieder request een nieuwe code te maken.
of waarom je het in een sessie moet zetten ipv. een hidden field of een get variabele.
iets meer van het nut en de werking van zo'n plaatje.

Offline  Maarten
Gepost op: 06 augustus 2006 - 20:37
Erelid

Citaat:
ipv. een hidden field of een get variabele.
Lijkt me nogal obvious, dan kan je evengoed geen zetten...

En het nut staat er uitgebreid boven, dat het dient om het onderscheid te maken tussen mens en machine.

Deze tutorial bevat voldoende informatie IMO.

Offline  Simon
Gepost op: 06 augustus 2006 - 22:11
PHP expert

@murfy, een hidden field kan evengoed...
je moet het dan alleen coderen met md5 of sha1 of beide 

Offline  Nrzonline
Gepost op: 06 augustus 2006 - 22:31
PHP ver gevorderde

Maarja, dit valt onder 'wensen' lijkt mij. Hoe jij het zelf graag zou willen, als het maar veilig, en de 'confirmatie code' er maar niet uit gehaald kan worden zonder de image te lezen, anders heeft het nog geen nut.

Offline  Tuinstoel
Gepost op: 08 augustus 2006 - 21:10
PHP expert

Citaat:
[I][B]Simon[/B] schreef op 06 Augustus 2006 - 22:11[/I]

@murfy, een hidden field kan evengoed...
je moet het dan alleen coderen met md5 of sha1 of beideĀ 
Hm is afgeraden. Als men er dus achter komt dat jij 32, of 40 tekens gebruikt gaat men echt wel kijken naar mogelijkheden.

Offline  Tri
Gepost op: 09 augustus 2006 - 20:43
PHP interesse

Jammer dat je niet aangeeft hoe je de controle moet uitvoeren, want juist daar gaat het vaak fout. Zie:
http://weblog.t...evaar.html

Offline  Nrzonline
Gepost op: 10 augustus 2006 - 01:08
PHP ver gevorderde

Ik heb volgensmij een vrij duidelijke voorbeeld gegeven die je in ieder geval een indicatie geeft hoe je dat moet aanpassen, met wat uitleg erbij. Maarja, komt vast nog wel een keertje =)

Offline  Crazed
Gepost op: 11 augustus 2006 - 19:01
PHP interesse

Wat misschien nog een mooie toevoeging zou zijn is het toevoegen van een header.
Met header('Content-Type: image/png'); zorg je er voor dat je php-bestand een png-bestand lijkt.
Zo moet er niet telkens een captcha.png naar de schijf gescreven worden en win je tijd als je veel pageloads tegelijk hebt.

Offline  Nrzonline
Gepost op: 11 augustus 2006 - 20:18
PHP ver gevorderde

Dat heeft geen nut als je hem include via een class o.i.d, aangezien het dan niet meer werkt ;) Dat werkt alleen als je hem apart wilt weergeven in een los bestand. Anders moet je hem gewoon als
  1. imagepng ($image, "captcha.png");
aanmaken, waardoor je <img src="captcha.png" alt=""> kunt gebruiken.

Offline  DForce
Gepost op: 12 maart 2007 - 09:30
Nieuw lid

Heeft iemand deze code ook echt daadwerkelijk 1 op 1 uit geprobeerd? Zo niet, probeer het dan eerst ..
Je zal zien dat het niet werkt..
Plaatjes genereren werkt wel, maar de random functie voor de code werkt gewoon niet. Ik heb het gevoel dat er een hoop mist in de tut.

Mijn mening is dat een tutorial zo hoort te zijn dat elke noob het kan en dat het direct hoort te werken. Zo niet dan is het een slechte tutorial. Maar dat is mijn mening. 

Offline  Nrzonline
Gepost op: 12 maart 2007 - 11:05
PHP ver gevorderde

Het is een 'Normale' tutorial, waarbij de schrijver (ik in dit geval) er best van uit mag gaan dat de gebruiker basis kennis heeft van PHP. Elke tutorial heeft zijn moeilijkheidsgraad, en een beginner kan makkelijke tutorials volgen. Normaal is al een stap verder, en heeft basis kennis nodig. Moeilijk ga je ver-ver. Laten we zeggen naar uitgebreide OOP.

Ten tweede moet je is wat verder kijken dat je neus lang is. Er staat bovenin de tutorial een code die NIET random wordt gegenereerd, die staat onderaan de pagina. Basis PHP is het AANROEPEN (niet schrijven van, maar AANROEPEN) van een functie.

Ten derde, je zegt 1-op-1 te proberen. Dat zijn scripts, en die kunnen noobs knippen en plakken zodat het werkt. Bij een tutorial mag je best wat zelf doen. Maarja, succes in de scripts dan maar.

Als je wat normaler 'je mening' kan geven en duidelijker laat weten waar het 'de mist in gaat' zonder de bende 'af te kraken' omdat ik probeer mijn kennis te delen heeft 't weinig nut om jouw nog verder te helpen.. (ofniet dan?)

Vriendelijke zoenen,
Edwin

Offline  arnoldlos
Gepost op: 08 mei 2007 - 00:00
Nieuw lid

De code voor de code_generator werkt niet. Er wordt gewerkt met $generate, maar deze wordt nergens aangemaakt, daarnaast wordt $generated_key niet returned.

Hier een werkende generator functie:

  1. function code_generator($length)
  2. {
  3. $generated_key = "";
  4. while (strlen($generated_key) < $length) {
  5. $generate = mt_rand(48, 90);
  6. if ($generate < 58 || $generate > 64) $generated_key .= strtolower(chr($generate));
  7. }
  8.  
  9. return $generated_key;
  10. }


Het is nodig om in te loggen om commentaar te bekijken. Dus ik denk dat mensen het zullen waarderen als je het veranderd.

PS. Je bent de toplink voor Nederlanders voor de term 'PHP captcha', dus gefeliciteerd .

Offline  Nrzonline
Gepost op: 08 mei 2007 - 03:03
PHP ver gevorderde

Ten eerste, ontzettend bedankt dat je even de tijd hebt genomen om je te registreren en een helpende comment te plaatsen! Ik inderdaad nogmaals de aangepaste keygen van joël getest, en deze bleek niet te werken, en een nonstop-ladende pagina was het resultaat. Een fout van mij, maar dit is nu opgelost door jouw script. Bedankt!

Ten tweede wil ik je bedanken met de felicitatie. Het was mij al eerder opgevallen dat ik eerste stond op google met de "captcha php" zoekterm, maar nog nooit eerder heeft hier iemand een opmerking over gemaakt. Wat ik ook wel tof vind is dat ik onder de gewone zoekterm "captcha" op google op de 4e plek sta. (Dat is me pas zojuist opgevallen)

Nogmaals, héél erg bedankt voor je hulp. Hopelijk kunnen mensen een goed werkende captcha toepassen aan hun website!

Offline  webrik
Gepost op: 12 juni 2007 - 16:47
HTML interesse

Citaat:
Ten tweede wil ik je bedanken met de felicitatie. Het was mij al eerder opgevallen dat ik eerste stond op google met de "captcha php" zoekterm, maar nog nooit eerder heeft hier iemand een opmerking over gemaakt. Wat ik ook wel tof vind is dat ik onder de gewone zoekterm "captcha" op google op de 4e plek sta. (Dat is me pas zojuist opgevallen)
Het is inmiddels al 3e!

Maar goede tut!

Offline  livio
Gepost op: 04 oktober 2007 - 19:40
Nieuw lid

captcha_generator ($_SESSION['code']); // het genereren van de image

Deze functie geeft een foutmelding omdat hij de functie niet vind.

Offline  Nrzonline
Gepost op: 04 oktober 2007 - 22:18
PHP ver gevorderde

DForce, lees verder dan je neus lang is..

Citaat:
Hier heb je een voorbeeld hoe je deze captcha kunt toepassen, alhoewel je hem wel eerst even in een funtie moet plaatsen. Noem de functie even 'captcha_generator ();'. Ik geef even een script voor het genereren van een code, zodat je die kan gebruiken.

Offline  livio
Gepost op: 11 oktober 2007 - 20:15
Nieuw lid

Kan je de achtergrond kleur ook wijzigen?

Offline  Godlord
Gepost op: 02 januari 2008 - 18:30
PHP gevorderde

Ja, imagefill(afbeelding, x, y, kleur);

Offline  Martijn
Gepost op: 16 april 2008 - 20:39
Crew PHP

  1. $line = imagecolorallocate($image,130,72,72);
  2. $line1Y1=rand(0,50);
  3. $line1Y2=rand(0,50);
  4. $line2Y1=rand(-25,75);
  5. $line2Y2=rand(-25,75);
  6. imageline($image,0,$line1Y1,200,$line2Y1,$line);

ik heb dat onder de if(count ($aCode) == 5) ge plaatst, dan krijg je er lijntjes bij, misschien een fijne toevoeging.

en misschien is het ook handig als je meteen een functie maakt van het img deel php, want ik volgde het ook niet zo goed 
---------------------
ik zal het lijn deel laten staan, maar ik heb deze captcha getest, kost 30sec om te kraken wat weinig. Ik heb wat verschillende achtergronden geprobeerd, ik heb heb nu een achtergrond met rode en groene en blauwe letters, beetje donkerig, en lichte kleur letters erop. De anti captcha leest alle letters, mensen zien de lichte makkelijker
---------------------
ecdit: Ook die is kraakbaar in een paar momenten. Wat ik nu heb is de cijfer 0 tot 9, en dan als 'nul' tot 'negen' in het plaatje zetten. Schuin, zodat niet alle lettters in het plaatje passen, mensen snappen t wel, een bot niet 

Offline  Thomasc
Gepost op: 09 november 2010 - 11:51
Nieuw lid

$Code = substr(str_shuffle(strtoupper(implode(range('a', 'z')).implode(range('0','9')))), 0, $length);

Op deze manier, scheelt toch alweer een functie en enkele regels code 

Offline  Niko
Gepost op: 25 december 2012 - 20:37
Nieuw lid

Leuke tutorial, werkt goed :-)


Had wel het probleem dat sommige cijfers niet weergegeven werden met imagettftext().
Letters werden altijd weergegeven.
Dit bleek aan het font te liggen ook al waren alle fonts True Type.
Andere fonts genomen en ok.

Pagina:

Enkel aanvullende informatie is welkom. Geen prijzende of afkeurende reacties.
 
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.064s