Mailinglisten-Archive |
> [märchenerzähler] > es werden ein paar mehr präsenzen auf dem server gehostet, einige > benötigen > unbedingt globals=on, also muss es an bleiben Musst du ja nicht in der php.ini setzen, mach es per .htaccess -> php_value register_globals "off" Aber mache es! > > > $_GET, $_POST etc. zu dekontaminieren. > > in aller bescheidenheit... auf was muss ich in $_GET oder $_POST > achten? Ein > Link würde schon genügen, oder eine Kurzinfo... Wenn ich globals=on habe, > dann habe ich die Möglichkeit, Variablen auf instanzierten Objekten direkt > zu setzen - oder sind das andere Globals? > Die SID ist eine > global? Scheinbar > nicht, denn "globals haben mit Sessions nichts zu tun". "SID" ist eine Konstante, die automatisch von PHP gesetzt wird, sobald die Session-Sachen aktiviert sind. SID enthält den String session.name.'='.session_id() Und das $_SESSION-Array ist SUPER-global. > Nur mal, um mein Gewissen zu erleichtern: > Wenn ich cookies an habe, dann wird die SessionID im Cookie als String > gemerkt. An Hand des Cookies kann nun die bisherige Session identifiziert > werden, da dieser clientspezifisch ist. Wenn ich an Hand der IP gehe,kann > ich niemanden hinter einem Router dingfest machen. Der ClientPort > macht auch > in Kombination mit dem IP keinen Sinn. > > Schalte ich nun Cookies ab, wird also bei jedem Scriptstart, in > welche nicht > via $_POST['phpsessid'] gekommen ist, durch session_start() eine neue > Session angefangen, da die alte Variable nicht mehr bekannt ist. Weiß nicht, WAS du da tust, aber benutze doch einfach die "normale" Vorgehensweise: 1. session_start() 2. Zugriff aufs Session-Array mit $_SESSION['deine_session_var'] > //SID sollte automatisch angehangen werden > -> wird Sie, da in PHP.ini so eingestellt Genau. > > > Es muss doch eine Möglichkeit geben, die Session - statt Sie in jedem Link > einzufügen - überall einzufügen... Genau das sollte ja passieren bei use_trans_id > > In der PHP.INI geht das wohl in : > > (meine Einstellungen) > > session.use_trans_sid = 1 > -- brauche ich,wenn ich auf cookies verzichte; hängt die sid an jede url > an - scheint nicht in kombination mit header("Location... zu funktionieren Nein, wie auch, das ist ja kein Link. Aber wer hindert dich daran, header("Location: scriptfoo.php?" . SID); zu benutzen? > > url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" > -- kann ich nicht rein zufällig erweitern, da Header("Location: .. wohl > nicht funktioniert Unwichtig (meistens). > > register_globals = On > -- Sind on, keine Ahnung, ob ich die Wirklich abschalten sollte... Ja. Brauchst sie nicht, wenn du ordentlich programmierst. > > session.use_cookies = 1 > -- ich teste aber clientseitig ohne cookies (cookies abgeschaltet) - > gleicher effekt aber auch, wenn ich use_cookies auf 0 setzen > (browsercache+cookiecache leeren!) Schalts ab (von mir aus auch per .htaccess), dann siehst du, das die Links automatisch um die session-id erweitert werden. > > session.name = PHPSESSID > -- da kann man doch nett was eigenes reinhängen- allerdings > werden bestimmt > einige programmierer bereits (idiotischer weise) auf phpsessid zugegriffen > haben (fest)... also besser so lassen... Der Name ist unwichtig, bei ordentlicher Programmierung spielt der keine Rolle, da du ja über $_SESSION['...'] auf die Session-Daten zugreifst. Benötigst du die session-id nimm session_id() > > session.auto_start = 0 > -- wird mir wohl bei header("Location... auch nichts bringen... Das hat nichts mit header() zu tun. Damit ersparst du dir nur ein session_start(); in jedem Skript. Also ich kann dein Problem nicht nachvollziehen. Ich benutze Cookie-lose Sessions ohne Probleme: - use_trans_id ist eingeschaltet - use_cookies per .htacces abgeschaltet - in den relevanten Skripten ein session_start(); - zum setzen von Session-Variablen ein $_SESSION['foo'] = $bar; - zum auslesen ein $bar = $_SESSION['foo'] (bzw. mit isset($_SESSION['foo']) erstmal überprüfen). Poste doch mal die session-relevanten Code-abschnitte, sonst wird das hier nix. Sag, was wann wie in der Session gespeichert werden soll und wie das wo wie wann wieder ausgelesen werden soll. Gruß Thomas
php::bar PHP Wiki - Listenarchive