Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Verwendung von Register Globals





Frage

Hallo! Ich habe einen Mailtausch und nun hat mein Provider die "Verwendung von Register Globals" eingestellt. D.h.: Dieser Mailtausch funktioniert nun nicht mehr. Ich muß also mein Script umschreiben. Frage: Wie ändere ich hier mein Login: $db = mysql_connect($dbhost, $dbuser, $dbpass) or die(mysql_error()); mysql_select_db($dbname,$db) or die(mysql_error()); $daten=mysql_query("select * from mt_user where user=´$user´"); if(mysql_num_rows($daten)>0){ $uname=mysql_result($daten,0,"user"); $free=mysql_result($daten,0,"free"); $sperre=mysql_result($daten,0,"sperre"); $upass=mysql_result($daten,0,"pwd"); $sponsor=mysql_result($daten,0,"sponsor"); } if($user==""){ $update="<center>Bitte einen Benutzername eingeben.</center>"; }else{ if($pwd==""){ $update="<center>Bitte ein Passwort eingeben.</center>"; }else{ if($user!="$uname"){ $update="<center>Benutzername wurde nicht gefunden.</center>"; }else{ if($pwd!="$upass"){ $update="<center>Passwort falsch.</center>"; }else{ if($sperre==1){ if($free==1){ if($upass==$pwd) Ich habe mich mal schlau gemacht unf folgendes gefunden: aus IF($´USERNAME´){ muß nun IF$_COOKIE/_POST/_GET[´USERNAME´] werden. Nur wie kann ich dies nun ändern? Es funktioniert weder das Login noch Mailbestätigung etc.

Antwort 1 von Risatara2

Hi,
Leider kann ich dir (noch) nicht weiter helfen, weil bei deiner Fehlerbeschreibung etwas fehlt. Du solltest nämlich vielleicht auch die HTML-Seite posten, die das Script aufruft.
Risatara

Antwort 2 von Supermax

Eine einfache Methode ist auch die Verwendung der Funktion

import_request_variables()

Einfach am Anfang deines Scripts aufrufen, sollte weitere Änderungen vorerst überflüssig machen.

Aus Sicherheitsgründen solltest du aber dennoch für neue Seiten nur noch $_POST / $_GET / $_COOKIE / $_FILES verwenden, und auch deine bestehenden Scripts schrittweise anpassen.

Antwort 3 von Supermax

Noch ein Tipp: bei dieser Abfrage

$daten=mysql_query("select * from mt_user where user=´$user´"); 


solltest du unbedingt den Usernamen mittels mysql_escape_string() in eine "sichere" Form überführen:

$user_safe = mysql_escape_string($user);
$daten=mysql_query("select * from mt_user where user=´$user_safe´"); 


Andernfalls könnte ein böswilliger User leicht ausführbaren SQL-Code in deine Abfrage einfügen, wenn er den entsprechenden Code als Username angibt.