Archiv verlassen und diese Seite im Standarddesign anzeigen : Sessionfrage
Flashfactor 19-11-2002, 19:25 Also wenn ich eine Sessionstarte im File1 und viel Fiel2 aufrufe mittels "HTML-Link" übergibt PHP die Sessionid über die URL ala GET.
Möchte nehmlich nicht das die Sessionid in der url ist.
Mir ist nur eingefallen eine möglichkeit mittels Cookie. Das ich die Sessionid ins Cookie schreibe.
Meine Frage wäre ob es noch eine andere Möglcihkeit gibt die SessionVar. weiter zugeben.
MoRtAlAn 19-11-2002, 19:27 session kann per Cookie, GET und POST übergeben werden, andere möglichkeiten hast du nicht!! Unterstützt der User keine Cookies, hast du das erste Prob, dann mußt du sie wieder an alle Links anhängen und hast sie wieder in der URL stehen...
Wieso soll die session nicht in der URL stehen ??
gruss
Flashfactor 19-11-2002, 19:29 Das mit Post ist mir noch umbekannt , wie soll das gehen?
MoRtAlAn 19-11-2002, 19:44 geht auch nur in formularen :D
gruss
Aber jeden Link mittels Hidden-Field aufzubauen ist wohl nicht die beste Möglichkeit.
Verstehe aber nicht, was daran so schlimm ist, die SID in die URL zu übernehmen. sms.de legt sogar für jede ID ne eigene Subdomain an. Natürlich nur Temporär und so, aber da stehts auch klar drinne.
Flashfactor 19-11-2002, 22:31 Wenns so ist will ich gleich eine weitere Frage dazu stellen.
Was ist jetzt wenn ein anderer User diesen Link kopiert und in seine URL einfügt?
Kann er dann auf die Userdaten zugreifen? Falls die Session ID in in einer datenbank beim User gespeichert ist und Cookie deaktiviert ist?
MoRtAlAn 20-11-2002, 08:28 das ist ein anderes Prob! Der eine User sieht ja nicht die SID eines anderen User, vorausgesetzt, du Programmierst das irgendwo ein!!
Hier im Forum ist ein regex, der die SID aus einem Beitrag entfernt! Wäre das nicht der fall, könntest du mit meinem geposteten Link als "ich" hier rumsurfen.
gruss
Flashfactor 20-11-2002, 17:25 Ich möchte so etwas auch bewerkställigen. Was müsste ich dazu machen?
Oder wo finde ich Informationen darüber?
Der Bereich zwischen "s=" und "&" muss entfernt werden.
Wobei ich nicht weiß, wie man es bewerkstelligt, wenn kein & dahinter steht.
MoRtAlAn 20-11-2002, 17:33 bla.php?deineSessionBezeichnug={32zeichen weiter}
gruss
http://php-resource.de/forum/showthread.php?s=&postid=75653#post75653
Sieht aus wie ne Kombi. Ich hab cookies aktivuert. Deswegen übergibt das Forum die SessionID nicht: ...post.php?s=&action... Wenn du jetzt 32 Zeichen weg nimmst, hast du ein Problem. Also kombi aus beidem...
Flashfactor 20-11-2002, 17:42 Danke
Habs nun so gelöst:
In jedem Link steht nun:
z.B.:
<a href="index.php?s=">Link</a>
s... Sessionname
Damit funktioniert es super.
Klappts auch, wenn noch ne &action oder so danach kommt?
Flashfactor 20-11-2002, 18:21 Ja
Hast also ne Kombi genommen? Kannste mal posten?
Flashfactor 20-11-2002, 19:18 Kein Kombi verwendet, aber das "Ja" war einwenig voreilig. Lies dazu den Nachteiltext am ende.
einfacher test:
index.php
<?php
session_name("s");
session_start();
$_SESSION['name'] = "Flashfactor";
echo '<a href="test.php?a=1&s=">Link</a>';
?>
test.php
<?php
session_name("s");
session_start();
echo $_SESSION['name']."<br>";
echo $_GET['a'];
?>
Nachteil: das "s=" beim link muss immer am ende stehen.
Das meinte ich dann auch. Mit ner Kombi wäre das nicht nötig.
Flashfactor 20-11-2002, 19:39 Dazu muss ich halt eine if-else bedienung einbauen.
if (Cookie existiert) {
//Sessionid wird aus Cookie ausgelesen
} else {
//Sessionid wird aus URL ausgelesen.
}
Aber wie soll ich die Ausgabe der Sessionid über url verhinden wenn.
<?php
session_name("s");
session_start();
echo "<a href="index.php"></a>";
In dem vorher genannten Bsp. wird ja automatisch die SessionID an die URL angehängt. Aber wie kann man das unterdrücken?
php hängt die session.id doch erst an, wenn die cookiespeicherung beim user nicht aktiv ist.
da eigentlich viele user cookies verwenden, sollte das kein problem sein. und für die user, die keine cookies haben, kommst du ohnehin nicht drum, die session.id in der url zu haben.
ich muss aber auch dazu sagen, dass ich nicht verstehe, warum du die id nicht in der url haben willst.... :confused: da ist doch nix schlimmes bei....
|