login  Naam:   Wachtwoord: 
Registreer je!
Scripts > PHP > Beveiliging > Key in image genereren


Reacties op het script Key in image genereren

Offline  CelestialCelebi
Gepost op: 26 februari 2005 - 20:56
PHP gevorderde



Hmm, een paar dingen met als belangrijkste de volgende:

Waarom heb je hier een class van gemaakt? Je kunt net zo goed 2 functies maken, dat heeft hetzelfde effect, met het voordeel dat het sneller is! 

Ook een paar kleine dingetjes:

$key .= $tekens[rand(0, sizeof ($tekens))];

sizeof($tekens) wordt $lengte keer gebruikt, dus moet je die voor de for-loop bepalen. Variabelen maak je omdat je ze meerdere keren gebruikt in het script (wat hier het geval is) om het laden ervan sneller te laten verlopen (anders moet je $lengte keer sizeof($tekens) uit gaan rekenen, terwijl dat ook in een keer kan).

Je zet $lengte als variabele, maar gebruikt die maar 1 keer (namelijk in de for-loop). Het zou slimmer zijn die variabele weg te halen en gewoon 10 in de for-loop te zetten. OF je laat $lengte meegeven aan de method, dat is ook een optie (moet je wel oppassen met je GD plaatje).

Verder gebruik je in de method makeImage() $white en $black maar 1 keer, die kan je dus ook in imagettftext() zetten ipv daar variabelen van te maken.
$white gebruik je niet eens!! En zo'n GD functie kost toch wel even wat extra geheugen, zeker als het resultaat daarvan niet wordt gebruikt. 

Je gebruikt ook $this->sleutel alleen in de functie makeImage(), die kan je dus ook als parameter aan die functie meegeven, scheelt ook weer 2 methods...

Er kan dus nog heel wat veranderd worden aan dit script!

Offline  Wim
Gepost op: 26 februari 2005 - 21:00
Crew algemeen



Tuurlijk kan er heel wat aan veranderd worden. Dat is trouwens de hoofdredene waarom ik mijn scripts post: Zodat ik kan zien wat andere er van vinden. Ook gedeeltelijk om andere tijd te besparen, en de beginners wat te helpen. Daarom sta ik ook open voor commentaar...

Offline  Fenrir
Gepost op: 26 februari 2005 - 21:18
PHP expert



Het is volgens mij best goed gescript, maar het is niet echt origineel...er zijn al zoveel van zulke scripts. En dit:

"dus begin er niet over te klagen als er iets fout is, want het werkt!"

Die filosofie bproberen we juist uit te bannen op SM .


Offline  CelestialCelebi
Gepost op: 26 februari 2005 - 21:20
PHP gevorderde



Als je het tegen mij hebt, Fenrir, ik heb niet gezegd dat het een slecht script was, ik heb alleen gezegd dat er nog heel wat onlogische dingen in zitten en dat er nog redelijk wat aan veranderd kan worden.

Je hebt mij niet horen zeggen dat ik het script niet goed vond of zei dat het slecht was gescript ofzo, want qua syntax en scriptingregels ziet het er heel goed uit! 

Offline  Wim
Gepost op: 26 februari 2005 - 21:42
Crew algemeen



Uhh, ik versta onder SM iets anders dan jij wss, want weet niet wat je bedoeld....

EDIT:
Sitemasters wss?

Offline  CelestialCelebi
Gepost op: 26 februari 2005 - 22:38
PHP gevorderde



Sitemasters ja. Eigenlijk is SiMa beter, omdat SM een andere betekenis heeft. 

Offline  cowbeast
Gepost op: 24 mei 2005 - 20:10
Onbekend



Script werkt niet bij mij !

Offline  Wim
Gepost op: 25 mei 2005 - 14:38
Crew algemeen



Zeker dat GD geïnstalleerd is?

Offline  Bastard
Gepost op: 22 september 2005 - 01:16
Nieuw lid



Image blijft wit bij mij, ik zie enkel de key (als ik gewoon image.php bekijk)
Als ik image.php?actie=img intyp dan krijg ik dit:

‰PNG  IHDR‚{òwàPLTEÿÿÿUÂÓ~ IDAT•c`ôhè¤IEND®B`‚ <<<<hier een witte image>>>>
Key: UO64B8OKF6

(gd is geinstalleerd)

Offline  Wim
Gepost op: 24 september 2005 - 11:31
Crew algemeen



zeker dat GD ook actief is?

Of heb je mss de link naar een lettertype verkeerd gelegd?

Offline  ottorocket
Gepost op: 19 december 2005 - 15:44
Onbekend



hoe moet je je image veranderen??

Offline  Wim
Gepost op: 21 december 2005 - 08:42
Crew algemeen



  1. function makeImage () {
  2. header("Content-Type: image/png");
  3.  
  4. $imagehandle = imagecreate(130, 20);
  5. $white = imagecolorallocate($imagehandle, 255, 255, 255);
  6. $black = imagecolorallocate($imagehandle, 0, 0, 0);
  7. imagettftext($imagehandle, 15, 0, 0, 20, $black, '/var/www/html/keysystem/nrkis.ttf', $this->sleutel);
  8. imagepng($imagehandle);
  9. imagedestroy($imagehandle);
  10. }


Dat stukje maakt het hele figuurtje ;)


Enkel aanvullende informatie, vragen en antwoorden op vragen zijn welkom.
 
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.037s