Hi,
Ich habe gerade festgestellt, dass solbald ich per php ein Session_start Befehlt gebe meine Seite laut W3 nicht mehr xhtml valide ist, obwohl sie es vorher war. Grund scheint zu sein, dass php wegen dem Session_start an sämtliche Links noch ein &PHPSESSID=8debf9033a9ec35bc16be2f735cca87f (oder ähnlich) dranhängt, sprich scheinbar die Session Sachen im Link zu übergeben will! Dran stört sich jetzt der validator...
Habt ihr das selbe oder ähnlich Probleme oder wisst ihr wie man seine Seiten trotz Session_start valide halten kann!?
thx im vorraus!
Session_start vs. Xhtml Vlaid ?!?
gepostet vor 19 Jahre, 6 Monate von Haatschiii
gepostet vor 19 Jahre, 6 Monate von Amun Ra
session id´s werden per get post oder session cookie übergeben.
also wenn du get nicht magst dann bleiben noch zwei.
oder du nimmst mod rewrite, damit kenn ich mich aber nicht aus.
mfg rahq
also wenn du get nicht magst dann bleiben noch zwei.
oder du nimmst mod rewrite, damit kenn ich mich aber nicht aus.
mfg rahq
gepostet vor 19 Jahre, 6 Monate von Haatschiii
hm... bin ich zu blöd oder wiso finde ich nicht wie man php erzählt wie er's machen soll!? Die beiden anderen Methoden sind mir recht...
gepostet vor 19 Jahre, 6 Monate von Wulf
Bei einem Web-Projekt von mir habe ich auch mit PHP die Session erstellt, aber eingestellt, dass PHP die sessionID nicht immer hinter jeden link haengen soll.
Trotzdem habe ich die ID per get uebertragen.
Das habe ich gemacht, indem ich hinter jeden link manuell die Session ID in XHTML Konformer Weise angehaengt habe.
Ist dadurch korrektes XHTML, man hat aber etwas mehr Arbeit und man muss aufpassen, dass man keinen Link vergisst.
Wenn ich mich nicht irre verlangt XHTML, dass Du das '&' in Unicode angibst, also '&'#'3'8';'
Natuerlich ohne die Hochkommas.
Trotzdem habe ich die ID per get uebertragen.
Das habe ich gemacht, indem ich hinter jeden link manuell die Session ID in XHTML Konformer Weise angehaengt habe.
Ist dadurch korrektes XHTML, man hat aber etwas mehr Arbeit und man muss aufpassen, dass man keinen Link vergisst.
Wenn ich mich nicht irre verlangt XHTML, dass Du das '&' in Unicode angibst, also '&'#'3'8';'
Natuerlich ohne die Hochkommas.
gepostet vor 19 Jahre, 6 Monate von neit
Hmm ich denke mal es liegt daran, dass PHP nicht das für das Kaufmännische "Und" entsprechende HTML-Entity verwendet ... das kannst du ja mit dem Validator ganz einfach überprüfen. Wenn das der Fall ist kannst du z.B. als kleinen Workaround deine Ausgabe puffern und vor der Ausgabe mit preg_replace alle innerhalb von href- und src-Tag alleinstehenden, nicht escapten &s, durch &'s ersetzen.
gepostet vor 19 Jahre, 5 Monate von Haatschiii
Wie kann ich ihn den über Post oder Session Cookie übergeben? Finde keinen Befehl der das einstellt... .
@neit: ja er stört sich an dem '&' und '=' . Wobei ich es beim '=' nicht so ganz verstehe weil ich es in meinen Links auch eingebaut habe er sich daran aber nicht stört!? Und vor allem wann packt php denn die Session-Angabe dran? Direkt, also wenn ich es erst mal als Variable mache?
@neit: ja er stört sich an dem '&' und '=' . Wobei ich es beim '=' nicht so ganz verstehe weil ich es in meinen Links auch eingebaut habe er sich daran aber nicht stört!? Und vor allem wann packt php denn die Session-Angabe dran? Direkt, also wenn ich es erst mal als Variable mache?
gepostet vor 19 Jahre, 5 Monate von Amun Ra
Also erstmal de.php.net/manual/de/ ist ne hilfreiche Seite.
Wenn ich mich nicht irre,
dann sendet PHP bei session_start(); ein Session Cookie an den Client.
Ausserdem solltest du mal in deine php.ini schauen,
da findest du das hier:
session.use_cookies = 1
; This option enables administrators to make their users invulnerable to
; attacks which involve passing session ids in URLs; defaults to 0.
; session.use_only_cookies = 1
Und diese zwei Einträge:
; Use of trans sid may risk your users security.
; Use this option with caution.
; - User may send URL contains active session ID
; to other person via. email/irc/etc.
; - URL that contains active session ID may be stored
; in publically accessible computer.
; - User may access your site with the same session ID
; always using URL stored in browser's history or bookmarks.
session.use_trans_sid = 0
; The URL rewriter will look for URLs in a defined set of HTML tags.
; form/fieldset are special; if you include them here, the rewriter will
; add a hidden field with the info which is otherwise appended
; to URLs. If you want XHTML conformity, remove the form entry.
; Note that all valid entries require a "=", even if no value follows.
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
Wenn ich mich nicht irre,
dann sendet PHP bei session_start(); ein Session Cookie an den Client.
Ausserdem solltest du mal in deine php.ini schauen,
da findest du das hier:
; Whether to use cookies.
session.use_cookies = 1
; This option enables administrators to make their users invulnerable to
; attacks which involve passing session ids in URLs; defaults to 0.
; session.use_only_cookies = 1
Und diese zwei Einträge:
; trans sid support is disabled by default.
; Use of trans sid may risk your users security.
; Use this option with caution.
; - User may send URL contains active session ID
; to other person via. email/irc/etc.
; - URL that contains active session ID may be stored
; in publically accessible computer.
; - User may access your site with the same session ID
; always using URL stored in browser's history or bookmarks.
session.use_trans_sid = 0
; The URL rewriter will look for URLs in a defined set of HTML tags.
; form/fieldset are special; if you include them here, the rewriter will
; add a hidden field with the info which is otherwise appended
; to URLs. If you want XHTML conformity, remove the form entry.
; Note that all valid entries require a "=", even if no value follows.
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
gepostet vor 19 Jahre, 5 Monate von None
Ich habs über modRewrite gelöst. Is etwas eleganter und w3c konform :roll: