Sicherheitscode

Askart

Mitglied
Hi,

Ich bin grade dabei bei meinem Loginsystem ein Sicherheitscode einzubauen!

Leider klappt das von vorne bis hinten nich *gg*

Euch jetzt damit zu belasten wär ein bisschen viel deshalb frag ich ganz grob ob ihr ein tutorial oder sowas kennt dafür weil das übersteigt an ein paar stellen meine Kunst doch schon !

Ein paar links oder so wären nett!

thx
 
Du bist bei einem Login,

Name: ***
Passwort: ***

Sicherheitscode : 41161

ENTER

Von so einem Sicherheitscode sprech ich!

Naja ich weiss wohl dass ich irgendwie mit php oder ähnlichen eine Zahlenreihnfolge kriegen muss und ein Bild als Hintergrund erstellt werden muss aber naja hab voll keinen Plan wie ich das machen soll... Ich hab zwar mal einen Schnipsel von so einem Script gesehn aber der hilft nich viel.
 
aha Captcha heisst das also...

Naja vom Sinn und der Bedeutung hab ich es ja verstanden und die Herstellungsweise auch aber die Umsetzung krieg ich nicht hin.

Aber thx für diese interessante Erklärung!
 
PHP:
$data = "captcha"
$search = "www.google.de"

if (isset($data) && isset($search)){
    $randomclue = "http://www.onlamp.com/pub/a/php/2005/03/31/text_captcha.html";
} else {
echo "dumbass";
}

;)
 
Hier kannst Du das Script downloaden: Download

Mit dieser Variante eine Grafik mit einem Code anzuzeigen, stellen Sie sicher, dass der Benutzer das Formular auf Ihrer Seite selbst ausgefüllt hat. Um das folgende Script bei Ihnen lauffähig zu machen, müssen auf Ihrem Webserver die PHP-Grafikfunktionen aktiviert sein. Zudem brauchen Sie eine Schriftart, mit der der Code auf die Grafik geschrieben wird. Diese Schriftart ist zusammen mit dem Quellcode im Download zu diesem Artikel enthalten.

Zuerst das Formular zur Aufnahme des Codes, welches Sie selbstverständlich mit beliebig weiteren Formularfeldern erweitern können.

1 <html>
2 <head>
3 <title>Sicherheitsabfrage mit Hilfe eines grafischen Codes</title>
4 </head>
5 <body>
6 <?php
7
8 $Buchstaben=array("A", "B", "C", "D", "E", "F", "G", "H", "K", "M", "N", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y");
9 $Zahlen=array("2", "3", "4", "5", "6", "7", "8", "9");
10
11 for($i=0, $Code=""; strlen($Code)<6; $i++)
12 {
13 if(rand(0, 1)==0 && isset($Buchstaben))
14 {
15 $Buchstabe=$Buchstaben[rand(0, count($Buchstaben))];
16 $Code.=$Buchstabe;
17 $AngezeigterCode.=$Buchstabe." ";
18 }
19 else
20 {
21 $Zahl=$Zahlen[rand(0, count($Zahlen))];
22 $Code.=$Zahl;
23 $AngezeigterCode.=$Zahl." ";
24 }
25 }
26 $AngezeigterCode=trim($AngezeigterCode);
27
28 ?>
29 <form action="auswerten.php" method="post">
30 <input name="Code" type="hidden" value="<?php echo$Code; ?>">
31 Code: <input maxlength="6" name="EingegebenerCode" size="6" type="text"> <img border="0" height="50" src="grafischer-code.php?Code=<?php echo$AngezeigterCode; ?>" width="200"><br>
32 <input type="submit" value="Absenden">
33 </form>
34
35 </body>
36 </html>


Zuerst wird ein zufälliger Code bestehend aus sechs Buchstaben oder Zahlen generiert und als versteckte Variable dem Formular mitgegeben.

Die in Zeile 31 aufgerufene Grafik wird vom nachstehenden Script dynamisch erzeugt:

1 <?php
2
3 $Grafik=imagecreatefrompng("hintergrund.png");
4 $Rahmenmass=imagettfbbox(20, 0, "mistralf", $_REQUEST['Code']);
5 $Rahmenmass[5]*=-1;
6 $TextBreite=(200-$Rahmenmass[2])/2;
7 $TextHoehe=((50-$Rahmenmass[5])+($Rahmenmass[5]*2))/2;
8
9 $Textfarbe = imagecolorallocate($Grafik, 128, 128, 128);
10 imagettftext($Grafik, 20, 0, $TextBreite, $TextHoehe, $Textfarbe, "mistralf", $_REQUEST['Code']);
11 imagepng($Grafik);
12
13 ?>


Auf die Grafik "hintergrund.png" wird in diesem Script mittig in der Schriftart "Mistral" der generierte Code geschrieben und die Grafik anschließend ausgegeben.

Auswerten können Sie das Formular dann mit Hilfe dieses PHP-Scriptes:

1 <html>
2 <head>
3 <title>Sicherheitsabfrage mit Hilfe eines grafischen Codes</title>
4 </head>
5 <body>
6 <?php
7
8 if(strtolower($_REQUEST['Code']) == strtolower($_REQUEST['EingegebenerCode']))
9 {
10 echo"Der Code wurde richtig eingegeben!";
11 }
12 else
13 {
14 echo"Der Code wurde fehlerhaft eingegeben!";
15 }
16
17 ?>
18 </body>
19 </html>
 
Zuletzt bearbeitet:
@Matthiasghh
Ich muss aber sagen, dass das Ganze ziemlich unsicher ist, wenn du sowohl den Code als auch den eingetippten Code mit übergibst. Da brauchst du nicht einmal 2 Minuten und du hast das Ganze umgangen!
Ich würde da schon eher zu einer Methode mit SESSION-Variablen tendieren. Denn da hast du die Möglichkeit die Daten zu speichern, ohne dass diese dann so schnell geändert werden können.

Mit freundlichem Gruß
der_maiki
 
Zurück