Keine Datenübergabe mehr

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

Keine Datenübergabe mehr

Postby Haraldl » 04. March 2008 23:14

Hallo,
weiss mir keinen Rat mehr! Habe mit ***.php?id=*** Datenübergabe gemacht. Im Web funzt das...aber bei XAMPP nicht!
Habe neues System und die neueste Version xampp aufgespielt. Als Dienst installiert: Apache 2.2...läuft.
Interessant: auf meinem Laptop klappt die Datenübergabe so (Dienst apache2.0) ohne Probleme. Kopieren von xampp vom Laptop auf meinen PC hilft auch nicht...
Was kann ich noch tun?
Wonach kann ich im Forum :cry: suchen?
Danke für die Hilfe

Harald
Haraldl
 
Posts: 19
Joined: 03. January 2003 13:38
Location: Berg bei Neumarkt

Postby Wiedmann » 05. March 2008 00:05

Habe mit ***.php?id=*** Datenübergabe gemacht. Im Web funzt das...aber bei XAMPP nicht!

Diese Seite hast du schonmal gelesen/verstanden und löst dein Problem nicht?
--> http://de.php.net/manual/en/language.va ... ternal.php

Ansonsten, da es um PHP geht und du so gar keine Fehlermeldung von PHP postest... Ein höheres error_reporting (E_ALL) ist oft erhellend.
--> http://de.php.net/manual/en/function.er ... orting.php
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Haraldl » 05. March 2008 17:35

Hallo,
danke für Deine Hilfe...die Seite kannte ich schon, habe jetzt PHP.ini meines lifebooks zeile für zeile verglichen mit der auf meinem neuen PC und siehe da register_globals war auf off!
Kann nicht funktionieren.
Lag daran, dass ich die falsche PHP.ini bearbeitet hatte, welche nicht im relevanten Pfad lag.

Es läuft nun.

Gruß

Harald
Haraldl
 
Posts: 19
Joined: 03. January 2003 13:38
Location: Berg bei Neumarkt

Postby Wiedmann » 05. March 2008 18:08

register_globals war auf off!

Das ist/war zwar dein Problem. Tatsächlich willst du aber dein Script korrigieren, anstatt diesen Wert in der "php.ini" zu ändern.

(Den will man "off" haben: "off" ist seit 7 Jahren die Standardeinstellung bei PHP und mit der nächsten PHP Version kann man den auch nicht mehr auf "on" ändern)
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Haraldl » 05. March 2008 18:21

Hm,
Ich weiss eigentlich nicht recht, wie ich das wo ändern sollte.
Gebe beim Seitenaufruf einfach per?id=010101 (beispiel) mit. Die aufgerufene Seite nimmt dann mit einer if-Abfrage die id auseinander und baut mit diesen Infos dann das menü neu auf.
Ich arbeite also nicht mit formularen...möchte nur den aufgerufenen Seite die ID mitgeben.
Wenn ich das ändern müsste, beträfe das den großteil meiner Sites.
Ich habe das selbst geschrieben und wusste nicht einmal, dass dazu globals on sein müssen.
Hast du eine Idee, wie das umzubauen wäre?

Dank im voraus

Harald
Haraldl
 
Posts: 19
Joined: 03. January 2003 13:38
Location: Berg bei Neumarkt

Postby Wiedmann » 05. March 2008 20:00

Hast du eine Idee, wie das umzubauen wäre?

Das kann man unter dem Link oben nachlesen...

Gebe beim Seitenaufruf einfach per?id=010101 (beispiel) mit ... Ich arbeite also nicht mit formularen...

Das steht zwar auch unter obigen Link, aber ein Link ist das selbe wie ein Standardformular mit "method=get":
--> ein GET-Request. In deinem Fall also "$_GET['id']" anstatt "$id".
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Haraldl » 05. March 2008 20:18

Danke,

das ist mir schon klar, aber wie wird denn die id abgegeben?
Gelernt: +++.php?id= ist nicht ok.
mit$_GET['id'] ist auch ok, aber wenn ich die id nicht mehr mit "?" übergeben kann, wo kommt die dann her?

Sorry, komme eigentlich nicht von PHP und bin wohl etwas schwer von Begriff :oops:

Hast du Geduld? Wie geht die Übergabe richtig beim Seitenaufruf?
Blicke nicht mehr durch!

Dank

Harald
Haraldl
 
Posts: 19
Joined: 03. January 2003 13:38
Location: Berg bei Neumarkt

Postby Wiedmann » 05. March 2008 21:01

Gelernt: +++.php?id= ist nicht ok.

Nein, das ist ok (ein normaler GET-Request)

mit$_GET['id'] ist auch ok

Genau, das ist ok, aber du hattest nur "$id" in deinen Scripten benutzt. Und das ist der Unterschied bei register_globals: bei "on" gibt es "$id", bei "off" nicht".

Wie geht die Übergabe richtig beim Seitenaufruf?

Wiedmann wrote:
Haraldl wrote: Habe mit ***.php?id=*** Datenübergabe gemacht.

-> ein GET-Request. In deinem Fall also "$_GET['id']" anstatt "$id".



Evtl. solltest du nicht nur die Seite aus obigen Link lesen, sondern auch die in der Seite enthaltenen weiterführenden Links. z.B. zu "Superglobale Arrays".

Evtl. kommt dein Problem ja auch von anderen Variablen wie PHP_SELF. Benutze doch einfach "error_reporting(E_ALL);" am Anfang deiner Scripte, und du siehst deine Fehler.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Haraldl » 05. March 2008 21:17

Danke,
habe folgendes in der Seite gefunden..."So enthält zum Beispiel http://www.example.com/test.php?id=3 GET-Daten, auf die mit $_GET['id'] zugegriffen werden kann..."
Schliesse daraus, dass ich schon Daten mit "?id=" übergeben kann, darf die aber nicht einfach mit $id= im nachfolgenden script weiterverarbeiten, sondern muss explizit die Daten auslesen mit $_get['id']...
werde bestätigt durch "oder um $id von der URL http://www.example.com/test.php?id=3 zu bekommen $_GET['id'] statt $id " von einer mit o.g. Seite verlinkten page.

Richtig? Der Fehler lag nicht im Übergeben, sondern im Weiterverwenden...

Wenn das richtig ist, wo ist dann der Sicherheitsaspekt?

Hoffe, ich liege nicht wieder falsch :roll:

Danke

Harald
Haraldl
 
Posts: 19
Joined: 03. January 2003 13:38
Location: Berg bei Neumarkt

Postby Haraldl » 05. March 2008 21:28

Hoffe ich freue mich nicht zu früh...

habe eben mein script auf $id=$_GET['id'] geändert (statt nur $id abzufragen), register_globals auf "off" gesetzt und siehe da: es funktioniert!

Habe zwar nicht ganz verstanden, was das zum Thema Sicherheit gebracht hat...aber man muss ja nicht alles verstehen...

Ein Hacker kann ja jetzt immer noch die Seite manuell mit ***.php?id=ich+bin+ein+hacker aufrufen...
Wird genauso abgefangen wie vorher...wo ist also der Vorteil?

Gruß

Harald
Haraldl
 
Posts: 19
Joined: 03. January 2003 13:38
Location: Berg bei Neumarkt

Postby Wiedmann » 05. March 2008 22:00

Ein Hacker kann ja jetzt immer noch die Seite manuell mit ***.php?id=ich+bin+ein+hacker aufrufen...

Naja, dass hat ja noch nichts mit Hacken zutun. Hier geht es ja noch um die gewollte Übergabe eines Wertes "id". Das man das was in "id" übergeben wird auf Plausibilität überprüft, versteht sich ja von selbst. (Dein Script muss mit jedem Wert den "id" erhalten könnte irgendwie zurecht kommen. Und wenn es nur eine Fehlerausgabe ist).

Wird genauso abgefangen wie vorher...wo ist also der Vorteil?

a) es ist eifach übersichtlicher, weil man gleich sieht, woher ein Wert/Variable kommt die man benutzt.

b) nicht jeder initialisiert seine "normalen" Variablen vor der ersten Benutzung. Und mit "register_globals=on" könnte man so einer Variablen in deinem Script einen Wert von aussen zuweisen, (ohne das du das an dieser Stelle so beabsichtig hattest).
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Haraldl » 05. March 2008 22:11

:D
Danke für die Bestätigung. Ich liege also mit meinen Annahmen richtig.
Schön, dass ich was dazugelernt habe, danke für deine Geduld.

Bis auf ein nächstes Mal...super Forum

Gute Nacht

Harald
Haraldl
 
Posts: 19
Joined: 03. January 2003 13:38
Location: Berg bei Neumarkt


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 37 guests