Automatisches Anhängen der SessionID verhindern
stef32
- php
Hallöchen,
also es gibt ja haufenweise beiträge, wie man eine SessionID weitermittelt; aber wie kann ich - ohne in der php.ini die Einstellungen global zu ändern - verhindern, dass ständig die sessID mitübergeben wird?
Grund: Schon selbst bei HTML-Dateien (obwohl kein stück phpcode darin) wird ständig die PHPSESSID ans .html? angehängt! Denke, dass daher auch Google & Co die Unterseiten nicht indexiert.
Danke,
stef
Hallo stef,
also es gibt ja haufenweise beiträge, wie man eine SessionID weitermittelt; aber wie kann ich - ohne in der php.ini die Einstellungen global zu ändern - verhindern, dass ständig die sessID mitübergeben wird?
Vor session_start machst Du
ini_set ('session.use_trans_sid', 0);
Allerdings funktioniert das erst ab PHP 5.0 (in PHP4 kann man use_trans_sid nicht im Script verstellen). Für PHP4 gibt's dazu einen Trick:
ini_set ('url_rewriter.tags', '');
(auch _vor_ session_start!)
Viele Grüße,
Christian
Vor session_start machst Du
ini_set ('session.use_trans_sid', 0);
Allerdings funktioniert das erst ab PHP 5.0 (in PHP4 kann man use_trans_sid nicht im Script verstellen). Für PHP4 gibt's dazu einen Trick:
ini_set ('url_rewriter.tags', '');
(auch _vor_ session_start!)
Hi,
ja weißt Du, ich habe in html-dateien ja kein session_start() und Php wird mit *.html - Dateien auch nicht geparst. Dass ist ja das Problem ;-)
Aber für die php-dateien probiere ich das mal so (php4.3x).
Danke,
stef
Hallo Stef,
ja weißt Du, ich habe in html-dateien ja kein session_start() und Php wird mit *.html - Dateien auch nicht geparst. Dass ist ja das Problem ;-)
Ja, aber das "Anhängen" der SESSID geschieht ja in der Seite, die auf die .html-Dateien verlinkt, d.h. wenn Du eine Seite im Browser aufrufst, die auf index.html?PHPSESSID=... endet, dann kommt das daher, dass die Seite, von der Du kamst, dieses PHPSESSID angehängt hat.
Viele Grüße,
Christian
Hallo Stef,
ja weißt Du, ich habe in html-dateien ja kein session_start() und Php wird mit *.html - Dateien auch nicht geparst. Dass ist ja das Problem ;-)
Ja, aber das "Anhängen" der SESSID geschieht ja in der Seite, die auf die .html-Dateien verlinkt, d.h. wenn Du eine Seite im Browser aufrufst, die auf index.html?PHPSESSID=... endet, dann kommt das daher, dass die Seite, von der Du kamst, dieses PHPSESSID angehängt hat.
Hi,
das ist mir schon klar, nur wenn ich auf einer TopLevelDomain gehe, ohne index.html einzutippen und dabei die index.html aufgerufen wird (wie es ja eigentlich auch unter dem Indianer üblich ist), diese index.html weder geparst wird noch php-code inne hat, frage ich mich, wieso darin enthaltende Links zu weiteren *.html-Seiten eine ?PHPSESSID=xx hat?!
Beispiel: www.peja-elements.com (man beachte, ohne Nennung einer Datei) und guck mal da unter den Links auf den Sprachen -> ich erhalte da ständig beim ersten Aufruf eine ?PHPSESSID=xx hinter der *.html eines der Links und frage mich nun natürlich, wieso das zustande kommt (Übrigens wird da eine index.html geöffnet)?!
Hallo Stef,
Beispiel: www.peja-elements.com (man beachte, ohne Nennung einer Datei) und guck mal da unter den Links auf den Sprachen -> ich erhalte da ständig beim ersten Aufruf eine ?PHPSESSID=xx hinter der *.html eines der Links und frage mich nun natürlich, wieso das zustande kommt (Übrigens wird da eine index.html geöffnet)?!
Beim Aufrufen der Seite erhalte ich einen Session-Cookie, der nach PHP aussieht. Aus irgend einem Grund wird also für die index.html bei Dir PHP ausgeführt *UND* automatisch eine Session gestartet (warscheinlich über session.auto_start oder wie die Einstellung heißt). Wenn Du keinen Einfluss auf die Konfiguration hast, musst Du Dich in dem Fall an den Hoster wenden. (Nach session_start() das Anhängen der SESSID abzuschalten funktioniert bestenfalls nicht, schlimmstenfalls vermurkst es Deine Ausgabe).
Viele Grüße,
Christian
Hallo Stef.
Php wird mit *.html - Dateien auch nicht geparst.
Es kommt darauf an.
das ist mir schon klar, nur wenn ich auf einer TopLevelDomain gehe, ohne index.html einzutippen und dabei die index.html aufgerufen wird (wie es ja eigentlich auch unter dem Indianer üblich ist), diese index.html weder geparst wird noch php-code inne hat, frage ich mich, wieso darin enthaltende Links zu weiteren *.html-Seiten eine ?PHPSESSID=xx hat?!
Dass die index.html keinen PHP-Code enthält, kann ich mir nicht vorstellen, allerdings kann ich mir vorstellen, dass sie geparst wird. Verantwortlich dafür ist beim Apache die "AddType"-Direktive in der httpd.conf, die auch so aussehen kann:
AddType application/x-httpd-php .php .html
Dann werden alle Dateien auf dem Server, die eine der o.g. Endungen haben, bevor sie an den Client ausgeliefert werden, durch den Parser geschickt und enthaltener PHP-Code ausgeführt - auch wenn die Datei "index.html" heißt.
Freundschaft!
Siechfred
hi,
Beispiel: www.peja-elements.com (man beachte, ohne Nennung einer Datei)
eben, du weißt doch gar nicht, was für eine datei dahinter steckt - woraus also schliesst du bitte, dass es eine reine HTML-seite und eben _kein_ PHP-script sein sollte?
und guck mal da unter den Links auf den Sprachen -> ich erhalte da ständig beim ersten Aufruf eine ?PHPSESSID=xx hinter der *.html eines der Links und frage mich nun natürlich, wieso das zustande kommt
weil die "startseite" ein PHP-script ist, und demzufolge allen internen bzw. relativen links die SID anhängt.
PHP selbst kann doch nicht wissen, welche der dort verlinkten dateien die SID ebenfalls benötigen.
(Übrigens wird da eine index.html geöffnet)?!
_ja und_?
verabschiede dich doch bitte endlich von deiner fixen idee, dass PHP-scripte _nur_ unter .php abgelegt werden könnten, und das .html-dateien _immer nur_ statisches HTML beinhalten.
gruß,
wahsaga
hi,
Beispiel: www.peja-elements.com (man beachte, ohne Nennung einer Datei)
eben, du weißt doch gar nicht, was für eine datei dahinter steckt - woraus also schliesst du bitte, dass es eine reine HTML-seite und eben _kein_ PHP-script sein sollte?
und guck mal da unter den Links auf den Sprachen -> ich erhalte da ständig beim ersten Aufruf eine ?PHPSESSID=xx hinter der *.html eines der Links und frage mich nun natürlich, wieso das zustande kommt
weil die "startseite" ein PHP-script ist, und demzufolge allen internen bzw. relativen links die SID anhängt.
PHP selbst kann doch nicht wissen, welche der dort verlinkten dateien die SID ebenfalls benötigen.(Übrigens wird da eine index.html geöffnet)?!
_ja und_?
verabschiede dich doch bitte endlich von deiner fixen idee, dass PHP-scripte _nur_ unter .php abgelegt werden könnten, und das .html-dateien _immer nur_ statisches HTML beinhalten.
Ja also, ich würde mich davon ja verabschieden, wenn ich nicht selbst in der httpd.conf auf diesem Server für alle Domains lediglich nur php, inc und php4 Dateien eingestellt hätte.
Übrigens weiß ich dass es eine html-seite ist, WEIL ES MEINE IST und sogar der Server MEIN ist!
man man
hi,
Ja also, ich würde mich davon ja verabschieden, wenn ich nicht selbst in der httpd.conf auf diesem Server für alle Domains lediglich nur php, inc und php4 Dateien eingestellt hätte.
und wie sieht's mit dem DirectoryIndex aus ...?
Übrigens weiß ich dass es eine html-seite ist, WEIL ES MEINE IST und sogar der Server MEIN ist!
das wurde aus dem posting nicht so ganz deutlich.
gruß,
wahsaga
hi,
ja weißt Du, ich habe in html-dateien ja kein session_start() und Php wird mit *.html - Dateien auch nicht geparst. Dass ist ja das Problem ;-)
und mit diesem unverständnis der technischen abläufe wagst du dich schon an sessions ran ...?
gruß,
wahsaga
Moin!
ja weißt Du, ich habe in html-dateien ja kein session_start() und Php wird mit *.html - Dateien auch nicht geparst. Dass ist ja das Problem ;-)
und mit diesem unverständnis der technischen abläufe wagst du dich schon an sessions ran ...?
Wer, wie, was?
Der, die, das!
Wieso, weshalb, warum?
Wer nicht fragt, bleibt dumm!
Und gemäß des Mottos, dass es keine dummen Fragen gibt, nur dumme Antworten, muss ich leider mitteilen, dass deine Antwort eine von diesen ist.
- Sven Rautenberg