Hi, ich habe mir Apache 1.3, mod_php4 4.3.1 und mysql 3.23 installiert und läuft auch alles fast so wie es soll. Ich habe die Pakete von den Suse8.2 CDs installiert. Nun zu meiner Frage: Will ich in einem php-Script auf einen übergebenen Query-Parameter zugreifen, so klappt das nicht wie gewohnt (daß es jeweils eine lokale Variable mit dem Namen und dem Wert der jeweiligen Queryparameter gibt). Will ich eine Variable ausgeben, die ich per Query-String übergeben habe, bekomme ich kein Ergebnis (aber auch keinen Fehler.) Ich hoffe ich habe mich verständlich genug ausgedrückt und jemand hat eine Idee woran es liegen könnte. Könnte es an der Apache Konfiguration liegen oder ganz woanders? Läuft das bei den Suse Packeten anders als bei denen von den orginal Quellen? Ich hab keinen Schimmer wo ich hier suche soll.... Mat
Hi Mathias, Du musst in der Datei php.ini die Anweisung register_globals einschalten. Schau Dir in dieser Datei und auf www.php.net mal die entsprechenden Kommentare dazu an. Ging schon 100 Mal über die Liste. Gruß Seb
Moin, Am Sa, den 22.11.2003 schrieb Sebastian Wolfgarten um 19:51:
Hi Mathias,
Du musst in der Datei php.ini die Anweisung register_globals einschalten.
<predigtmodus> Nein, weil dieses Feature nicht aus Bosheit abgeschaltet wurde, sondern weil es ein Sicherheitsrisiko darstellt. Statt register_globals willst du dich vielmehr mit sowas beschäftigen: $abc = $_GET['abc']; </predigtmodus>
Schau Dir in dieser Datei und auf www.php.net mal die entsprechenden Kommentare dazu an. Ging schon 100 Mal über die Liste.
Genau. Bei php.net steht das in den Releasenotes. Gruß, Ratti -- -o) fontlinge | Font management for Linux | Schriftenverwaltung in Linux /\\ http://freshmeat.net/projects/fontlinge/ _\_V http://www.gesindel.de https://sourceforge.net/projects/fontlinge/
Moin, Am So, den 23.11.2003 schrieb Mathias Uebel um 03:38:
Joerg Rossdeutscher wrote:
$abc = $_GET['abc'];
Wie wäre:
foreach($HTTP_GET_VARS as $key=>$element){$$key = $element;} foreach($HTTP_POST_VARS as $key=>$element){$$key = $element;}
Erst recht nicht. Der Sinn der Deaktivierung von register_globals war ja gerade, daß man dir a) von draußen per Query-String beliebige Variablen ins Programm "unterschieben" kann b) daß ich dir Variablen umschreiben kannst, die du eigentlich durch eine andere Methode erwartet hast. Sprich: Du weisst nicht, ob du $passwort aus dem Cookie erhalten hast, aus GET, aus POST, als Session... Genau das alles sollst du aus Sicherheitsgründen händisch festnageln, damit du genau weisst, a) was und b) woher du Variablen setzt. Prinzipiell ist die Konstruktion oben nach einer Modifikation brauchbar. Statt HTTP_GET_VARS kannst du einen eigenen Array aufbauen, in dem du alle Variablen hardcodest, die du importieren _willst_. Dann noch die fehlenden Methoden hinzufügen, es gibt ja nicht bloß GET und POST. Das geht allerdings vermutlich besser mit "extract", wenn man sich mit den prefixes anfreundet - ungetestet, ich importiere immer händisch, siehe ganz oben. Gruß, Ratti -- -o) fontlinge | Font management for Linux | Schriftenverwaltung in Linux /\\ http://freshmeat.net/projects/fontlinge/ _\_V http://www.gesindel.de https://sourceforge.net/projects/fontlinge/
participants (4)
-
Joerg Rossdeutscher
-
Mathias Binder
-
Mathias Uebel
-
Sebastian Wolfgarten