"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

PHPScript geht nimma ?

The Red Guy 13.02.2003 - 20:55 1168 15
Posts

The Red Guy

Untitled
Avatar
Registered: Jul 2001
Location: Transdanubia
Posts: 3121
Hey Leute !

Der PHP-Dummy hat mal wieder ein Problem. :)

Auf meiner Webseite befindet sich ein primitives Login, das User und PWD gegen eine mySQL DB prüft. Das Script hat toll funktioniert, bis am Wochenende mein "guter" Provider sprit.org Serverwartungen vorgenommen hat.

Mit einem Mal sind die "submitteden" Values nicht mehr mittels PHP auslesbar. Ich vermute, dass der gute Provider ein Feature abgedreht hat. Da die "phpinfo" sehr lange ist, wollte ich fragen, auf welche Settings ich mich genau konzentrieren soll, wenn die HTTP-Post Vars nicht mehr da sind ?

Generell hat wer eine Idee, warum dieser "Fehler" auftreten kann ?


PS: Sonst stell ich mich ja nicht so ungeschickt beim Programmieren an, über mit PHP hab ich so meine liebe Müh'. :)

mad-mat

Addicted
Avatar
Registered: Feb 2001
Location: Undercity
Posts: 426
ist ein fehler in den php einstellungen des servers, hatte ich bei meinem provider auch mal...

am besten dort anrufen und a bissl meckern...

The Red Guy

Untitled
Avatar
Registered: Jul 2001
Location: Transdanubia
Posts: 3121
Hab ich schon.

Hat nicht viel geholfen.

Ich würde ihnen gerne genau sagen, was falsch ist, weil dann kommens mir nicht aus. Und Serversettings kann man sich doch alle über phpinfo() ansehen oder ?

mad-mat

Addicted
Avatar
Registered: Feb 2001
Location: Undercity
Posts: 426
kannst ma mal die phpinfo ausgabe schicken oder an link geben?

The Red Guy

Untitled
Avatar
Registered: Jul 2001
Location: Transdanubia
Posts: 3121

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
kannst du auch noch auszüge aus dem code schicken.. im phpinfo sieht alles auf den ersten blick gut aus - register_globals ist auch eingeschaltet (was ein häufiger grund für diese art von problemen ist)

zum testen kannst du dir auch mal oben in die seite ein echo $tUser."-".$tPassword; einbauen.

The Red Guy

Untitled
Avatar
Registered: Jul 2001
Location: Transdanubia
Posts: 3121
Das hab ich gemacht atrox. Die Vars sind leer.

Nachdem das PHP 4.0.6 ist, muss ich sie mit $HTTP_POST_VARS['tUser'] auslesen.

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
mit $HTTP_POST_VARS['tUser'] gehts ?

The Red Guy

Untitled
Avatar
Registered: Jul 2001
Location: Transdanubia
Posts: 3121
Nein nein, ich meinte, $tUser funktioniert bei der PHP Version sowieso nicht.

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
wenn 'register_globals' eingeschalten ist (und das ist es laut phpinfo), _sollte_ es funktionieren, oder übersehe ich da etwas ? :confused:

aber teste mal echo $HTTP_POST_VARS['tUser']; obs wirklich daran liegt.

The Red Guy

Untitled
Avatar
Registered: Jul 2001
Location: Transdanubia
Posts: 3121
Du hast recht. Das war früher nicht aktiviert.

Ich bin mir aber nicht mehr sicher, woran es liegt. Scheinbar haut was mit den $GLOBALS nicht hin. Ich kann mich jetzt zwar einloggen, aber beim wechseln auf eine andere Seite verliert er die globalen Variablen.

mad-mat

Addicted
Avatar
Registered: Feb 2001
Location: Undercity
Posts: 426
ok, nachdem sich der punkt mit dem einloggen erledigt hat, während ich am suchen war, zur nächsten frage:

mach ein script, das login-name und passwort (sofern laut db-abfrage korrekt) als session variable speichert.
weiters ein script, das in jeder weiteren seite included ist und auf vorhandensein der session variablen checkt, sonst zurück zum login geht...


Beispiel:

<?php

//session_register("PHP_AUTH_USER");
//session_register("PHP_AUTH_PW");
//session_register("valid_user");

if (empty($valid_user) && !empty($PHP_AUTH_USER))
{
$query = "select username from adminlogin
where password = password(lower('$PHP_AUTH_PW'))
and username = lower('$PHP_AUTH_USER')
";
$result = safe_query($query);
if ($result) { list($valid_user) = mysql_fetch_row($result); }
}
if (empty($valid_user))
{
print <<<EOQ
<p>
Sie müssen einen gültigen Usernamen und Passwort angeben!
</p>
<form method=post>
Username: <input type=text name="PHP_AUTH_USER" value="$PHP_AUTH_USER">
<br>
Passwort: <input type=password name="PHP_AUTH_PW" value="$PHP_AUTH_PW">
<br>
<input type=submit value="Einloggen!">
</form>
EOQ;
exit;
}
?>
Bearbeitet von mad-mat am 13.02.2003, 22:27

Philipp

Here to stay
Registered: Jul 2001
Location: Wien
Posts: 1922
Zitat von The Red Guy
Du hast recht. Das war früher nicht aktiviert.

Ich bin mir aber nicht mehr sicher, woran es liegt. Scheinbar haut was mit den $GLOBALS nicht hin. Ich kann mich jetzt zwar einloggen, aber beim wechseln auf eine andere Seite verliert er die globalen Variablen.

Verwendest du vielleicht Sessions?

Ich würde ausserdem ein ernstes Wörtchen mit den Provider reden. Apache 1.3.23 PHP 4.0.6 ist schon relativ alt und hat (falls das noch die Originalinstallation ist) diverse Sicherheitlücken.

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
also, egal was die anderen gesagt haben, ohne source oder zumindest einer fehlermeldung/testversion sag ich da nix... die ausssage "geht nicht" is ja mehr als vage...

The Red Guy

Untitled
Avatar
Registered: Jul 2001
Location: Transdanubia
Posts: 3121
Zitat von Philipp
Verwendest du vielleicht Sessions?

Ich würde ausserdem ein ernstes Wörtchen mit den Provider reden. Apache 1.3.23 PHP 4.0.6 ist schon relativ alt und hat (falls das noch die Originalinstallation ist) diverse Sicherheitlücken.

Yeap, tu ich.

Das leidige Thema mit dem Versionsalter habe ich schon angesprochen.

Ich werde heute am Abend den Source Code posten, wenn ich wieder daheim bin.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz