XAMPPLite, Problem auf USB-Stick

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

XAMPPLite, Problem auf USB-Stick

Postby Walter_vdV » 07. August 2006 12:01

Ich habe XAMPPLite auf einem USB-Stick installiert (wie beschrieben). Ich kann die Willkommensseite aufrufen und den phpMyAdmin starten (wichtig zu erwähnen), Daten von MySQL werden angezeigt etc. also alles bestens. Wenn ich nun in htdocs in ein eigenes Unterverzeichniss z.B. ..../htdocs/MyDir/ meine Webergüsse kopiere, also alles das gleiche wie auf der Festplatte wird meine eigene Willkommensseite auch angezeigt, wenn ich aber dann ein php-Script aufrufe funktioniert es nicht mehr. Ich habe festgestellt, dass das php-Script nicht geparst wird ????
Testhalber habe ich mal setup-xampp.bat ausgeführt, das gleiche Ergebnis. Das gleiche habe ich auch mal mit XAMPP probiert, das gleiche Ergebnis, obwohl, wie schon gesagt auf der Festplatte funktioniert alles.
Ich bin nur noch ratlos. Jemand eine Idee. Vielen Dank im Voraus.
Walter_vdV
 
Posts: 48
Joined: 20. January 2005 20:09

Postby Wiedmann » 07. August 2006 12:08

Ich habe festgestellt, dass das php-Script nicht geparst wird ????

Frage oder Feststellung? Kann aber eigentlich nicht sein, da du ja schreibst...
Ich kann die Willkommensseite aufrufen und den phpMyAdmin starten

... dass die XAMPP Demoseiten und phpMyAdmin tut.
--> Das sind alles PHP-Scripte.

wenn ich aber dann ein php-Script aufrufe funktioniert es nicht mehr.

Was passiert statt dessen? "error.log"?

Nur zur Sicherheit:
Wir reden hier doch ausschliesslich von PHP-Dateien die von dir sind?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Walter_vdV » 07. August 2006 12:21

Script wird nicht geparst habe ich damit festgestellt da ich mit php über print(.... eine Seite darstelle, ausserdem habe ich mal ein alert über javascript aufgerufen. Das php-Script wird einfach nicht ausgeführt. Da phpMyAdmin funktioniert bin ich ja so konfus. Wie schon gesagt auf der Festplatte funktioniert alles. Es handelt sich um mein eigenen Scripte. In error.log muss ich mal schauen, gute Idee, geht aber erst heute abend.
Walter_vdV
 
Posts: 48
Joined: 20. January 2005 20:09

Postby Walter_vdV » 07. August 2006 18:11

Sorry, sorry, weiss mal wieder nicht, was ich wirres geschrieben habe. Hat daran gelegen, dass register_globals noch off war, damit klappte natürlich die Parameterübergabe nicht usw. Sorry Wiedemann, dass Du Deine Zeit opfern musstest. Danke.
Walter_vdV
 
Posts: 48
Joined: 20. January 2005 20:09

Postby Wiedmann » 07. August 2006 18:16

Hat daran gelegen, dass register_globals noch off war, damit klappte natürlich die Parameterübergabe nicht usw.

Nur um Missverständinisse bei anderen Lesern hier vorzubeugen:
Natürlich klappt mit "register_globals=off" die Parameterübergabe!

BTW ist diese Einstellung ja nicht ohne Grund seit 6 Jahren standardmässig auf "off"...
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Walter_vdV » 09. August 2006 07:26

@Wiedemann, jetzt trittst Du aber eine Diskussion los. Bei mir ist es definitiv so, register_globals = off -> keine Parameterübergabe; register_globals = on -> Parameterübergabe klappt. Vielleicht sollte ich mal erläutern wie ich das meine. Ich rufe das php-Script über Javascript folgendermassen auf:
top.frMain.location.href = "PHP_Script.php?trfParameter=1";
frMain ist das Frame in dem das Ergebnis des Scripts dargestellt wird.
trfParameter frage ich im php-Script mit $trfParameter ab. So, je nach Einstellung register_globals, siehe oben, hat $trfParameter einen Wert oder ist null.
Walter_vdV
 
Posts: 48
Joined: 20. January 2005 20:09

Postby Wiedmann » 09. August 2006 12:27

Ich frag mal direkt (und Hand auf's Herz):
Hast du jemals im PHP-Manual nachgeschaut, wie man Parameter übergibt oder was "register_globals" ist?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Walter_vdV » 09. August 2006 13:08

@Wiedemann, da brauch ich nicht meine Hand aufs Herz zu legen, das sage ich auch so, ausführlich noch nicht. Tatsache ist, dass ab einer bestimmten Version in PHP register_globals aus Sicherheitsgründen standardmässig auf off gesetzt wurde. Ab dieser Zeit funktionierten mein Scripts alle nicht mehr. Ich habe dann in diesem Forum über diese Änderung gelesen, also habe ich die Variable auf on gesetzt und siehe da alles funktionierte wieder. Ich weiss nicht was ich da noch mehr lesen soll, mir reicht für meine Belange diese Information. Und ob das jetzt Parameter heisst oder sonst wie ist mir Sch...egal, ich nenne es so. Natürlich kann ich mit meinem Wissen und meiner "Fachsprache" nicht mit Profis mithalten, da ich nur hobbymässig Anwendungen schreibe, die ich für mich verwende, bzw. die in unserer Organisationseinheit von allen Beteiligten zum Informationsaustausch sehr gerne und mit grösster Zufriedenheit genutzt werden. Ich verdiene damit kein Geld, es ist auch nicht mein Hauptjob. Also was soll jetzt dieser erhobene Zeigefinger, ich habe von Dir schon sehr nützliche u. hilfreiche Tipps erhalten und möchte, das dies auch so bleibt und in diesem Fall hatte ich mich einfach gedanklich in eine falsch Richtung verrannt, auch dazu ist ein Forum manchmal sehr nützlich um einfach den Horizont wieder aufzumachen.
So und jetzt höre ich mir gerne an was ich alles falsch gemacht habe, ich lerne jederzeit gerne dazu, darum auch meine Fragen hier.
Walter_vdV
 
Posts: 48
Joined: 20. January 2005 20:09

Postby Wiedmann » 09. August 2006 13:22

Du hast recht. Letztendlich kann es mir egal sein wie du es machst ;-)

Ich bin halt nur immer wieder verwundert, wieso das soviele Leute falsch machen. Irgendwann muss man ja mal nachgeschaut haben wie das geht, und das macht man ja logischerweise im Manual. Und da steht nun mal wie es richtig geht.

BTW:
Mit dem nächsten Major-Release von PHP bleibt dir auch keine andere Möglichkeit mehr. Ist eh schon verwunderlich, dass dieser Schalter so lange überlebt hat. Grundsätzlich sorgte der nur dafür, das Script von PHP3 noch unter PHP4 lauffähig sind in der Übergangsphase. Also alles schon ganz schön lange her...
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Walter_vdV » 09. August 2006 14:30

Jetzt hast Du mich aber falsch verstanden. Ich finde den Hinweis schon wichtig, dass ich was falsch mache. Soll dass heissen man macht es nimmer so: .............=................php?...........&........ Jetzt machst Du mir aber Angst, ich muss dann ca. 250 Scripte ändern!!! Also ich hobbyprogrammiere mit PHP jetzt seit ca. 7 Jahren und gerade der o.g. Code war das 1. was ich ausser den Lappalien in PHP gelernt habe. Aber von dieser Änderung habe ich noch nichts gehört, ich habe zwar mal von einem Workaround gelesen wenn man mit register_globals = off arbeitet, das hat mich aber weiter nicht interessiert, weil ich im lokalen Intranet bei uns auf sicherheitsrelevante Dinge nicht so achten muss. OK, ich werde mir das jetzt mal durchlesen. Vielleicht muss ich Dich dann ja wieder mit Fragen bombardieren :lol:
Walter_vdV
 
Posts: 48
Joined: 20. January 2005 20:09

Postby Walter_vdV » 10. August 2006 12:06

OK, ich denke ich habe es überrissen. Geh ich recht in der Annahme, dass das Verwenden von $_GET alleine noch nicht die Sicherheit erhöht, sondern dass ich in mein Script noch Routinen einbauen muss, die überprüfen, dass mir kein Schadcode im Query_String (wieder was dazu gelernt) untergejubelt wird? (ich glaube die Frage erübrigt sich)
Siehst Du Wiedemann, so lernt man mit einem blöden Beitrag wie "XAMPP funktioniert nicht ......." elementares aus der PHP-Syntax hinzu. :wink:
Das meinte ich auch damit, dass einem das Forum auch manchmal den Horizont wieder aufmacht. Danke.
Walter_vdV
 
Posts: 48
Joined: 20. January 2005 20:09

Postby Wiedmann » 10. August 2006 14:22

Geh ich recht in der Annahme, dass das Verwenden von $_GET alleine noch nicht die Sicherheit erhöht, sondern dass ich in mein Script noch Routinen einbauen muss, die überprüfen, dass mir kein Schadcode im Query_String (wieder was dazu gelernt) untergejubelt wird?

Das ist eh klar ;-) Das Prüfen, Validieren, Maskieren von Usereingaben , die Weiterverarbeitet werden, musste/muss man (schon) immer machen. (In jeder Sprache die Eingaben annimmt)

Die grundlegende Sicherheit die dir $_GET usw. bietet, wird heutzutage sogar von einigen Webhostern ab adsurdum geführt, da diese immer noch ihre Server auf "register_globals = On" vorkonfigurieren.

Fakt ist einfach:
Mit Anfang PHP4 wurde entschieden, dass vom User übertragene Daten grundsätzlich in den Arrays $_GET/POST/COOKIE/REQUEST zu finden sind. Serverdaten usw. in $_SERVER. Und genau so steht es halt seitdem im PHP-Manual. Ergo macht man es einfach nur so ;-)

Da diese Arrays Superglobal und nicht nur global sind, können sie dir ja auch ganz schön den Programmieralltag erleichtern.

Noch ein Tipp zu grundlegenden Sicherheit:
Entwickel/teste mal deine Scripte mit einem error_reporting von E_ALL...
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Walter_vdV » 11. August 2006 07:58

Das ist sowieso klar, dass man Usereingaben entsprechend prüfen muss, dies und dann die Oberfläche ist sowieso die meiste Programmierarbeit, die reine Funktionalität eines Programms ist eigentlich mit relativ geringem Aufwand erledigt. Mir geht es darum, dass ich in meinem Query_String ja oft von mir erzeugte Angaben ohne Usereingaben übergebe, wie sich das Script verhalten soll, z.B. Tabellenfilterbedingungen. Ich habe mal gehört, dass sich Hacker an diesen Query_String dranhängen, weiss zwar nicht wie die das in diesem Fall machen, und ob man dies auch entsprechend prüfen sollte, also z.B. hat $_GET die erwartete Länge, Anzahl der Zeichen oder ähnliches.
Walter_vdV
 
Posts: 48
Joined: 20. January 2005 20:09


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 13 guests