PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   problem mit safe-mode on ?! (https://www.php-resource.de/forum/php-developer-forum/78551-problem-mit-safe-mode-on.html)

fabs(i) 27-11-2006 21:23

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&uuml;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
PHP-Code:

$_POST 

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.

TobiaZ 27-11-2006 21:28

hast dus error_reporting an? weitere testausgaben???

ghostgambler 27-11-2006 21:29

Debug-Ausgaben?!
Stehen in den Variablen an allen Orten auch wirklich die Werte drin, die nach deinem Kopf drin stehen sollten?

fabs(i) 27-11-2006 21:41

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?

TobiaZ 27-11-2006 21:44

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!

fabs(i) 27-11-2006 21:52

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:

NoticeUndefined variablepassword 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...

jahlives 27-11-2006 21:55

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


TobiaZ 27-11-2006 22:01

Dann müsste man aber immer noch passwort/d schreiben können.

EDIT:
jou

fabs(i) 27-11-2006 22:02

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?

jahlives 27-11-2006 22:03

Zitat:

Also was muss ich jetzt ändern damit es funktioniert?
Lesen und den korrekten Variabelnnamen verwenden...

Gruss

tobi

TobiaZ 27-11-2006 22:05

@jahlives: Schon mal über nen Nebenjob nachgedacht? Du bist eindeutig unterfordert und viel zu schnell... :D

fabs(i) 27-11-2006 22:07

...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:

NoticeUndefined variablepassword 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?

jahlives 27-11-2006 22:08

@tobi
OffTopic:

Habe ich schon :D Arbeite nebenbei noch ca 20 - 40 % in unserer kleinen Softwareschmiede.


Gruss

tobi

jahlives 27-11-2006 22:09

@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


fabs(i) 27-11-2006 22:15

Ja meine Variable ist passwort, da diese am Anfang so definiert wird...
Oder täusche ich mich da jetzt?
Er holt sich ja die Info vom gepostetem Textfeld (password) und definiert diese als passwort

...
EDIT:
hab gerade dein edit gesehn... wie dumpe ich die $userdata??


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:21 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG