PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |
|

27-11-2006, 21:23
|
fabs(i)
Newbie
|
|
Registriert seit: Jan 2005
Beiträge: 20
|
|
problem mit safe-mode on ?!
Hallo,
mein Webspace-Provider ist vor kurzem auf einen neuen Server übersiedelt. Einer der Unterschiede ist, dass safe-mode nun auf ON gesetzt ist, vorher war safe-mode OFF.
Nun habe ich meine Homepage wieder hochgeladen und siehe da, das Loginscript funktioniert nicht mehr.
Ich möchte es an diese Stelle einmal posten, damit man überhaupt sagen kann, ob es was mit safe-mode zum tun hat oder an anderen Settings liegt:
PHP-Code:
<?php
$username = $_POST["username"];
$passwort = $_POST["password"];
$log=0;
$userdatei = fopen ("user.txt","r");
while (!feof($userdatei))
{
$zeile = fgets($userdatei,500);
$userdata = explode("|", $zeile);
$passwort = md5($password);
if ($userdata[0]==$username and $passwort==trim($userdata[1]))
{
$_SESSION['username'] = $username;
echo "Login war erfolgreich. <a href=\"index.php?site=succ\">weiter</a>";
$log = 1;
}
}
fclose($userdatei);
if ($log==0)
{
echo "Zugriff verweigert <a href=\"javascript:history.back()\">Zurück</a>";
}
?>
Natürlich wird am beginn der Datei die Session gestartet.
Und das Formular wird auch in POST abgesendet.
Ich habe auch schon versucht statt diesen Code zu verwenden:
PHP-Code:
$HTTP_POST_VARS
, jedoch ohne Erfolg.
Der Fehler ist, dass ausgegeben wird: "Zugriff verweigert", was ich mir gar nicht erklären kann. Es wird also nicht erkannt, dass der User existiert?! Ich habe auch schon mit einem Firefox Addon namens "Tamper Data" versucht die gesendeten Informationen abzufangen, und jene sind richtig. Also kann das Problem nur mehr in diesem Codestück liegen, was ich euch gepostet habe.
Falls jemand weiß, wie man dieses Problem lösen kann, bzw. eine Idee zur Lösung hat, wäre ich sehr dankbar für eine Antwort.
Mit freundlichen Grüßen
Fabian P.
|

27-11-2006, 21:28
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
hast dus error_reporting an? weitere testausgaben???
|

27-11-2006, 21:29
|
ghostgambler
Master 
|
|
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
|
|
Debug-Ausgaben?!
Stehen in den Variablen an allen Orten auch wirklich die Werte drin, die nach deinem Kopf drin stehen sollten?
|

27-11-2006, 21:41
|
fabs(i)
Newbie
|
|
Registriert seit: Jan 2005
Beiträge: 20
|
|
hallo,
was meinst du mit error_reporting ?
Ich hab keine weiteren Testausgaben.
und es hat ja am vorigen server funktioniert.. also es werden die richtigen Inhalte übermittelt, also nehme ich an dass diese an allen Orten stimmen.
Jedoch wie kann ich das überprüfen?
|

27-11-2006, 21:44
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
Sollte man nicht VOR DEM POSTEN unsere Regeln lesen?
http://www.php-resource.de/forum/sho...threadid=50454
Wenn du keine Testausgaben gemacht hast, dann hole dies nun nach!
|

27-11-2006, 21:52
|
fabs(i)
Newbie
|
|
Registriert seit: Jan 2005
Beiträge: 20
|
|
So, ich habe nun folgendes gemacht:
Ich habe dies in meine Datei eingefügt:
PHP-Code:
<?php error_reporting(E_ALL); ?>
(ich hoffe ich habe das richtig gemacht)
und es wird mir nun ziemlich oft folgendes ausgegeben:
PHP-Code:
Notice: Undefined variable: password in /var/www/web746/html/fabian/v2/login.php on line 47
die Zeile 47 ist in meinem Code folgende:
PHP-Code:
$passwort = md5($password);
Ich kann mir jedoch nicht wirklich vorstellen, dass eine Variable undefiniert ist, da es ja am alten server auch funktioniert hat. Aber vielleicht täusche ich mich ja...
|

27-11-2006, 21:55
|
jahlives
Master  
|
|
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
|
|
Vllt haben die nicht nur den SafeMode auf On sondern auch noch gleich die RegisterGlobals auf Off gesetzt...
Gruss
tobi
EDIT:
Hab's gesehen $passwort !== $password
|

27-11-2006, 22:01
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
Dann müsste man aber immer noch passwort/d schreiben können.
EDIT: jou
|

27-11-2006, 22:02
|
fabs(i)
Newbie
|
|
Registriert seit: Jan 2005
Beiträge: 20
|
|
Ja, das haben sie,.. ich hab gerade in der php Config nachgesehen. Die RegisterGlobals sind auf off.
Also was muss ich jetzt ändern damit es funktioniert?
|

27-11-2006, 22:03
|
jahlives
Master  
|
|
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
|
|
Zitat:
Also was muss ich jetzt ändern damit es funktioniert?
|
Lesen und den korrekten Variabelnnamen verwenden...
Gruss
tobi
|

27-11-2006, 22:05
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
@jahlives: Schon mal über nen Nebenjob nachgedacht? Du bist eindeutig unterfordert und viel zu schnell...
|

27-11-2006, 22:07
|
fabs(i)
Newbie
|
|
Registriert seit: Jan 2005
Beiträge: 20
|
|
...Also ich denk mir dass
PHP-Code:
$passwort = md5($password);
falsch ist und hab es auf
PHP-Code:
$passwort = md5($passwort);
umgeändert, weil mir das logisch erscheint,..
Jetzt kommt zwar nicht mehr die Meldung
PHP-Code:
Notice: Undefined variable: password in /var/www/web746/html/fabian/v2/login.php on line 47
jedoch gibt er mir immer noch aus "Zugriff verweigert"
oder hab ich da jetzt etwas falsch verstanden?
|

27-11-2006, 22:08
|
jahlives
Master  
|
|
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
|
|
@tobi
OffTopic:
Habe ich schon Arbeite nebenbei noch ca 20 - 40 % in unserer kleinen Softwareschmiede.
Gruss
tobi
|

27-11-2006, 22:09
|
jahlives
Master  
|
|
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
|
|
@fabs
Wie heisst deine Variable denn, die das PW übernimmt ? Mit -d oder mit -t ? Steht bei dir gaaanz oben im Code.
Gruss
tobi
EDIT:
Habe gerade gesehen, dass du doch den korrekten Namen verwendest. Jetzt wäre es vllt mal interessant wenn du $userdata dumpen würdest, um zu sehen ob das PW und der Username überhaupt drin vorkommen
Geändert von jahlives (27-11-2006 um 22:12 Uhr)
|

27-11-2006, 22:15
|
fabs(i)
Newbie
|
|
Registriert seit: Jan 2005
Beiträge: 20
|
|
Ja meine Variable ist passwor t, da diese am Anfang so definiert wird...
Oder täusche ich mich da jetzt?
Er holt sich ja die Info vom gepostetem Textfeld (passwor d) und definiert diese als passwor t
... EDIT: hab gerade dein edit gesehn... wie dumpe ich die $userdata??
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|