php login
-
hi leute
ich möchte einen login programmieren. der login selber funktioniert, nur danach möchte ich, dass ein button aufgerufen wird, mit dem man ins admincenter (in einem neuen fenster) gelangen kann. Und das Schreiben des Buttons funktioniert nicht, deswegen habe ich euch diesen code gepostet und wüsste gerne, was ich falsch gemacht habe . Habe mit diesem eintrag in der textdatei getestet: fredvivaa$erfolg=0; $DATEI="user.txt"; if(isset($_POST["login"])) { if(!$_POST["bn"] || !$_POST["pw"]) { echo "<FONT color='red'>Fehlende Angaben!<br>"; } else { $eintrag=file($DATEI); $anz=count($eintrag); for($i=0;$i<$anz;$i++) { $element=split("~",$eintrag[$i]); if($_POST["bn"]==$element[0] && $_POST["pw"]==$element[1]) { echo "<FONT color='green'>Regestrierung erfolgreich!<br>"; if($element[2]=='a') $erfolg=1; else if($element[2]=='m') $erfolg=2; } if($erfolg!=0) break; } } } if($erfolg==1) echo "<input name=\"acenter\" type=\"reset\" id=\"acenter\" value=\"Neuer Eintrag\" onClick=\"window.open('admincenter.php','_blank','width=500,height=500');\">";
-
type=\"reset\"
sicher nicht mit
input type='submit' verwechselt.
Und: du arbeitest ja mit JS. Können wir den sehen. Oder was genau ist dein Problem und wo brauchst du hilfe?
-
nein das stimmt mit reset
das problem, $erfolg wird nicht auf 1 gesetzt und somit komme ich nicht zur buttonausgabe. Das Einlesen der Datei funktioniert, habe das mit Ausgaben getestet. Bei der dem Test mit fredvivaa ist sogar $element[2] a. Ich kann nicht nachvollziehen, warum $erfolg nicht 1 gesetzt wird
-
zwei sicherheitslücken:
1. die passwortdatei ist eine txt datei, somit einsichtig, einfach so aufzurufen und zu lesen.
2. wenn die register globals auf einem server mal doch mal falsch gesetzt sind, kann man durch eine post übergabe: eingabe=1 ohne alles den eigentlich zu sichernden link sehen. (einfach über die socketfunktionen von php)gruß
-
ja elise, aber das hilft mir für die lösung auch nicht weiter, trotzdem danke
-
Wurden die Newlines hinter im $element[2] mit abgeschnitten?
-
nein