HELLinG3R Geschrieben 29. Juni 2004 Geschrieben 29. Juni 2004 Hallo Leute, ich will für ein Onlineprojekt einen sicheren login programmieren. Ein Bestandteil dieses Logins ist, dass ein Bild mit zufälligem String erzeugt wird, den der User zur kontrolle abtippen muss. ich habe nun folgendes php-script geschrieben (testzwecke): <?php header("Content-type: image/png"); $image = imageCreateFromPng('test.png'); imagestring($image,12,30,9,'test123',imagecolorallocate($image,0,0,0)); imagepng($image); ?>[/PHP] mit imagepng kann ich optional auch in eine Datei schreiben. Meine Umgebung besteht zum einen aus den Scripten und zum anderen aus Smarty-Templates. Ich möchte die Ausgabe des Bildes also an das Template übergeben, da es sonst nicht mit dem Design klappt. Jetzt die Frage: wie mache ich das am besten? Eine Möglichkeit wäre, das bild ans Template zu übergeben per assign, aber ich bezweifle das das so funktioniert. Eine andere Möglichkeit ist, das Bild auf die Platte zu schreiben (evtl eigenes verzeichniss, wegen sicherheit). Als Dateiname stelle ich mir einen Mix aus Session_id und Timestamp vor, so wäre sichergestellt, das es keine Namenskonflikte gibt... Ausserdem: wie entsorge ich bei dieser Möglichkeit den anfallenden Datenmüll sicher? Hat hier jemand Erfahrungen mit so einem System und will mir einen denkanstoß geben?
kills Geschrieben 29. Juni 2004 Geschrieben 29. Juni 2004 du könntest das script auch direkt aus einem php script jedes mal neu generieren: img.php: <?php header("Content-type: image/png"); $image = imageCreateFromPng('test.png'); imagestring($image,12,30,9,$_GET["teststring"],imagecolorall ocate($image,0,0,0)); imagepng($image); ?> [/PHP] und im template dann so: [code] <img src="img.php?teststring=12-43TE-ADSF-242"> [/code]
kLeiner_HobBes Geschrieben 29. Juni 2004 Geschrieben 29. Juni 2004 @kills: seh ich das jetzt falsch bzw. kapier ich das net richtig? Eine Maschine könnte sich doch jetzt aus dem img-Tag den "Code" auslesen, da er dort im Textformat vorliegt.
etreu Geschrieben 29. Juni 2004 Geschrieben 29. Juni 2004 Die Idee mit dem img-src ist schon gut. Aber ich würde aber keine Angaben (ausser eventuell die SessionID) ranhängen sondern in einer Session ablegen. Du kannst nämlich dann später die Eingabe mit dem Wert in der Session vergleichen und must dir keine Gedanken über irgendwelche Dateien machen. Wichtig dabei ist aber, dass du sichergehst, dass die Session servergespeichert ist. Wenn du nämlich die Session-Daten im Cookie speicherst, dann ist das das alles vergebene Liebesmüh. Einfach noch einfügen: session_start(); $_SESSION['image_check'] = unique(); [/PHP] Auf der nächsten Seite dann abfragen.
HELLinG3R Geschrieben 30. Juni 2004 Autor Geschrieben 30. Juni 2004 ah, okay, danke für die Hinweise! Also entfällt auch das "aufräumen"... Super, danke! auf die einfachste Lösung kommt man mal wieder nicht...
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden