HX3 Foren  

  HX3 Foren > Konstruktiv > Software- und Webentwicklung

Software- und Webentwicklung Planung, Programmierung und Administration
UML, JavaScript/DOM, ASP, JSP, PHP, Apache, MySQL, Python, Perl (...)

Antwort
 
Themen-Optionen Ansicht
Alt 08.01.2006, 14:44   #1 (permalink)
Tokio Hotel Fan 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von boonz
 
Registriert seit: 04.05.2005
Ort: Bahamas
Alter: 32
Beiträge: 1.460
boonz eine Nachricht über ICQ schicken boonz eine Nachricht über Skype™ schicken
Standard [PHP] register_globals | include_path=

Nachdem ich eine Website auf dem Server des Providers (Strato) geuploadet hatte, bekam ich beim ausführen der index.php folgende Fehlermeldung:

Zitat:

FATAL ERROR: register_globals is disabled in php.ini, please enable it!

-Einschub-

Die Fehlermeldung kommt übrigens von einer Funktion, von der ich vorher noch nicht wusste, wofür sie zuständig ist:

Code:
 if (function_exists('ini_get')) {
    ini_get('register_globals') or exit('FATAL ERROR: register_globals is disabled in php.ini, please enable it!');
  }
-EinschubEnde-

Schön hab ich mir gedacht, wäre ja auch zu einfach gewesen.

Also Google und Provider FAQ...

Google ergab:

Zitat:

register_globals ausgeschaltet bedeutet, dass
ein PHP Script auf Informationen die aus z.B. Formularen als GET oder POST Daten übermittelt werden, nicht mehr über globale Variablen zugreifen kann.

Provider-FAQ ergab:

Zitat:

Parameter: Register Globals off
Seit der Version 4.1.x ist in PHP register_globals ausgeschaltet. Das bedeutet, dass ein PHP Script auf Informationen die aus z.B. Formularen als GET oder POST Daten übermittelt werden, nicht mehr über globale Variablen zugreifen kann.

Auf die übertragenen Daten wird über Arrays zugegriffen. Das heißt, dass Variablen die über GET versand wurden, mit $_GET["variablenName"] erreichbar sind. POST Daten entsprechend mit $_POST["variablenName"].

Diese Neuerungen dienen der Sicherheit und Struktur innerhalb von PHP Scripten

Schön

Nun, ich sehe ein, dass es jetz meine Aufgabe wäre, die ganzen Scripts so umzuschreiben, dass sie auch ohne register_globals funktionieren, weil das vielleicht hier oder da sicherer ist, aber das is so ein haufen arbeit und erfordert eine komplette Umstrukturierung!

Ich googelte weiter und fand zwei Arten, das Problem zu lösen:

1.) .htaccess

Für apache Server: (ist es ja)

.htaccess anlegen und dort folgendes reinschreiben:

php_value register_globals on


=> Haha, denkste, da hat der provider anscheinend global nen Riegel vorgeschoben: Internal Services Error occured.

Die Sache fängt an, lustig zu werden ....

2.) php.ini

Man lege eine Php.ini Datei an und setze in dieser den Wert von
register_globals auf on

Wunderbar.

Ich nehme die php.ini meines Apache Servers zur Hand.
Schaue sie mir an.
Ich finde:


Zitat:

; You should do your best to write your scripts so that they do not require
; register_globals to be on; Using form variables as globals can easily lead
; to possible security problems, if the code is not very well thought of.
register_globals = On

Jubel.

Man uploadet die Datei ins Server Verzeichnis.
Man ruft die index.php auf

...
...

Zitat:

Fatal error: main(): Failed opening required 'includes/configure.php' (include_path='.;E:\Programme\XAMPP\php\pear\') in /mnt/ja2/07/108/00000019/htdocs/osc/includes/application_top.php on line 29

Aha, der Pfad für "require"-Funktionen , in der Php.ini als "include_path" deklariert ist noch für den heimischen Apache konfiguriert.
Sollte ja keine zu grosse Sache sein, muss ich es eben für den Ordner ändern.


Wie stelle ich den Include Path auf "relativer Pfad" ein?
__________________
Zitat:

"Sodomy non sapiens."
- Pterry (Mort)

o
L_
OL
"This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat."

"Tokio Hotel Fan" -edited by Burns :P
- auch edited by Burns :P
boonz ist offline   Mit Zitat antworten
Alt 08.01.2006, 16:29   #2 (permalink)
Administrator 10 Jahre hx3
5000 Beiträge
 
Benutzerbild von Atomic
 
Registriert seit: 21.02.2003
Ort: Köln
Alter: 38
Beiträge: 5.162
Atomic eine Nachricht über Skype™ schicken
Standard AW: [PHP] register_globals | include_path=

In Zukunft schreibst du besser Scripte mit register_globals=off
Das ist jetzt Standart und bleicht auch so.

Ein Relativer Pfad beginnt von der aktuellen Position der Seite
Ein Aktiver immer vom Wurzelverzeichniss der Festplatte

Unter Windows

Nehmen wir mal an du befindest dich im Ordner

C:/Programme/XYZ

Du willst die Datei C:/Programme/XYZ/blabla/bla.txt verlinken

Der Relative Pfad wäre also:

./blabla/bla.txt
__________________
https://savetheinternet.info/
Atomic ist offline   Mit Zitat antworten
Alt 08.01.2006, 18:04   #3 (permalink)
Tokio Hotel Fan 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von boonz
 
Registriert seit: 04.05.2005
Ort: Bahamas
Alter: 32
Beiträge: 1.460
boonz eine Nachricht über ICQ schicken boonz eine Nachricht über Skype™ schicken
Standard AW: [PHP] register_globals | include_path=

ich hab es die ganze Zeit mit 2 Punkten versucht, es ist aber einer *grummel*
Danke jedenfalls!

ist es beim "include_path" eigentlich wichtig, ob ich ./xyz/bla.txt oder .\xyz\bla.txt schreibe?
__________________
Zitat:

"Sodomy non sapiens."
- Pterry (Mort)

o
L_
OL
"This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat."

"Tokio Hotel Fan" -edited by Burns :P
- auch edited by Burns :P

Geändert von boonz (08.01.2006 um 18:14 Uhr).
boonz ist offline   Mit Zitat antworten
Alt 08.01.2006, 18:26   #4 (permalink)
Administrator
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von anders^on
 
Registriert seit: 10.05.2003
Ort: Bayern™
Beiträge: 3.483
anders^on eine Nachricht über ICQ schicken anders^on eine Nachricht über Skype™ schicken
Standard AW: [PHP] register_globals | include_path=

Zitat von BoOnZ

ist es beim "include_path" eigentlich wichtig, ob ich ./xyz/bla.txt oder .\xyz\bla.txt schreibe?

Nur Ersteres bezeichnet ein Verzeichnis.

Unter Linux ist der Backslash (\) für den Beginn eines Sonderzeichens reserviert.
Der Ordner 'Eigene Dateien' wäre unter Linux als 'Eigene\ Dateien' aufrufbar.

Also ja, es ist wichtig
anders^on ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Kontakt - HX3.de - Archiv - Nach oben

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias



SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119