Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > PHP > PHP-Programmierung > wenn SessionID in der URL auftaucht: header

Layoutprobleme? - Styleswitcher!

Antwort
 
Themen-Optionen
Alt 27.02.2008, 20:14 Nach oben    #1
Jann Hendrik
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 1.542
Standard wenn SessionID in der URL auftaucht: header

Ich habe eine Seite welche eine session nutzt. Wenn sie das erste Mal aufgerufen wird, dann hängt die SessionID mit an der URL drin. Gerade für Suchmaschinen ist das bekanntermaßen nicht so toll.

Ich habe mir folgendes gedacht.

Ich überprüfe ganz am Anfang:
if(isset($_GET[session_name()]))
header('Location:xyz');

und header im Bedarfsfall einfach weiter.


Nur - ich bin auf $_SESSION['REQUEST_URI'] angewiesen (mod_rewrite wird genutzt) und habe gerade keine Idee, wie ich die SessionID und den Session-Namen aus dem String performant rausbekomme.

Einfach alle GET-Parameter durchgehen möchte ich nicht.


Klar - ich könnte mir was zusammenfrickeln - aber darum geht es ja gerade - das ich das nicht quick&dirty haben möchte...
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

die aktuelle Umfrage: Wo kauft ihr eure Literatur?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!

Geändert von Jann Hendrik (22.04.2008 um 18:30 Uhr). Grund: smily deaktiviert
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.02.2008, 20:18 Nach oben    #2
mepeisen
Martin Eisengardt
 
Registriert seit: 30.03.2006
Ort: Pfinztal
Beiträge: 353
Standard

Mal abgesehen von deinem Performance-Problem. Ich würde mal woanders anfangen bei deinem Problem:
Zitat:
Wenn sie das erste Mal aufgerufen wird, dann hängt die SessionID mit an der URL drin
Warum eigentlich das?
__________________
Open Sourcing the Online Gaming Universe
PHP/SQL/Java/C++/Assembler.
Seit Jahren Mitglied und Entwickler in einem der wohl größten Java-Projekte der Welt: http://weblogs.java.net/blog/hansmul...e_desktop.html
mepeisen ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.02.2008, 23:16 Nach oben    #3
Jann Hendrik
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 1.542
Standard

Nun, dir muss ja nicht erklären, dass die ID der Session irgendwo gespeichert werden muss.

Da beim ersten Aufruf nicht klar ist, ob der client den Keks, der es anschl. übernehmen soll annimmt, so wird es (so die Konfiguration) beim ersten Aufruf über die URL erledigt.

Klar - ich könnte das in der php.ini einstellen, dass der client zwangsweise den Keks aufessen muss, bevor es weitergeht, aber genau das möchte eigentlich nicht so gerne.

Wenn dazu gute Argumente kommen sollten, die mich überzeugen, dann kann ich das umstellen, aber bisher bin ich der Meinung, dass man clients ohne Kekse nicht sofort aussperren sollte.

Ich will ohne JS ja auch webseiten nutzen können. Selbiges denke ich auch über Kekse.

Beantwortet das deine Frage?
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

die aktuelle Umfrage: Wo kauft ihr eure Literatur?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.02.2008, 23:40 Nach oben    #4
Basti
Bastian Fenske
 
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 745
Standard

Wie die Session heißt, musst du doch eh wissen – du vergibst den Namen doch selbst (oder benutzt den Standard, den du mit session_name() auslesen kannst). Wo ist also dein Problem?

was die Weiterleitung angeht, könntest du vor dem eigentlichen Session-Start erstmal einen Cookie-Test machen:

Code:
Anfrage
Wenn Session nicht läuft
    Wenn Test-Flag nicht gesetzt ($_GET['kekstest'])
        Cookie setzen
        header(+ ?kekstest=1)
    Sonst
        Wenn Cookie nicht gesetzt
            Session starten (SID per URI)
        Sonst
            Session starten (SID per Cookie)

        header(ohne 'kekstest', ggf. mit SID)
Damit solltest du zumindest für die Keksfresser die SID draußen haben.

Basti
Basti ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.02.2008, 18:45 Nach oben    #5
Jann Hendrik
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 1.542
Standard

Mir geht es in erster Linie darum, dass die Suchmaschinen keine SessionID in den Index übernehmen..


Den Ablauf (@Basti) werde ich mal versuchen in Code umzusetzen.

Mal schauen, was ich mir da zusammenbastle.
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

die aktuelle Umfrage: Wo kauft ihr eure Literatur?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.04.2008, 18:19 Nach oben    #6
Dennis
Neuer Benutzer
 
Registriert seit: 18.08.2005
Beiträge: 9
Standard

siehe ini_set und session.use_cookie_only
Dennis ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.04.2008, 19:21 Nach oben    #7
CIX88
Erfahrener Benutzer
 
Registriert seit: 18.03.2005
Beiträge: 570
Standard

Keine Ahnung ob das Providerabhängig ist, bei mir war das Problem schon mit ini_set('url_rewriter.tags', ''); behoben.
CIX88 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.04.2008, 19:54 Nach oben    #8
Basti
Bastian Fenske
 
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 745
Standard

…dann soltest du besser direkt session.use-trans-sid abschalten! Die Benutzer, die Cookies verweigern hast du dann allerdings verloren, wenn du die SID nicht händisch anklebst (und dann brauchst du auch wieder den beschriebenen Cookie-Test oder hast die SID dann doch wieder beim ersten Response in allen Links und Formularen, weil da eben noch kein Cookie gefunden werden konnte). Die Lösung hat also nicht wirklich was mit dem Problem zu tun.

Auch session.use_cookie_only passt hier nicht:
Zitat:
Zitat von Jann Hendrik Beitrag anzeigen
Klar - ich könnte das in der php.ini einstellen, dass der client zwangsweise den Keks aufessen muss, bevor es weitergeht, aber genau das möchte eigentlich nicht so gerne.

Basti

Geändert von Basti (22.04.2008 um 19:58 Uhr).
Basti ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.04.2008, 20:11 Nach oben    #9
Dennis
Neuer Benutzer
 
Registriert seit: 18.08.2005
Beiträge: 9
Standard

Zitat:
Zitat von Basti Beitrag anzeigen
Auch session.use_cookie_only passt hier nicht:
Zitat:
Zitat von Jann Hendrik Beitrag anzeigen
Klar - ich könnte das in der php.ini einstellen, dass der client zwangsweise den Keks aufessen muss, bevor es weitergeht, aber genau das möchte eigentlich nicht so gerne.
mag sein, aber sicherheit geht vor! wer cookies nicht zulässt, hat eben pech. alle (großen) mir bekannten web-applikationen setzen cookies voraus, und das zu recht.
Dennis ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.04.2008, 20:12 Nach oben    #10
CIX88
Erfahrener Benutzer
 
Registriert seit: 18.03.2005
Beiträge: 570
Standard

Zitat:
die Cookies verweigern hast du dann allerdings verloren
Also mir das schon bewusst. Aber ich mache ich mir jetzt weniger Gedanken wenn es sich um ein Bereich handelt, wo man nur mit Anmeldung rein kommt. Und die Bereiche, die öffentlich sind, die brauchen auch kein Cookie.
CIX88 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.04.2008, 09:50 Nach oben    #11
Basti
Bastian Fenske
 
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 745
Standard

Zitat:
Zitat von Dennis Beitrag anzeigen
Zitat:
Zitat von Basti Beitrag anzeigen
Auch session.use_cookie_only passt hier nicht:
Zitat:
Zitat von Jann Hendrik Beitrag anzeigen
Klar - ich könnte das in der php.ini einstellen, dass der client zwangsweise den Keks aufessen muss, bevor es weitergeht, aber genau das möchte eigentlich nicht so gerne.
mag sein, aber sicherheit geht vor! wer cookies nicht zulässt, hat eben pech. alle (großen) mir bekannten web-applikationen setzen cookies voraus, und das zu recht.
Dann leg doch deine Argumente offen, wie von Jann Hendrik angefragt. Denn allein von der Möglichkeit weiß er ja bereits, wie er oben geschrieben hat und dass zumindest viele (nicht „alle (großen)“) Web-Anwendungen ohne Cookies nicht funktionieren sollte er auch schon mitgekriegt haben.

Basti
Basti ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.04.2008, 10:38 Nach oben    #12
Dennis
Neuer Benutzer
 
Registriert seit: 18.08.2005
Beiträge: 9
Standard

- bei permissiven session-systemen kann die session problemlos(er) zum session-riding verwendet werden (gewollt oder ungewollt). cookies bieten immerhin den schutz gegen ungewolltes übernehmen der session.
- des weiteren muss darauf geachtet werden, beim logout die id aus dem referer zu löschen.
Dennis ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.04.2008, 10:51 Nach oben    #13
Jann Hendrik
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 1.542
Standard

session-riding lässt sich aber auch auch serverseitig eindämmen.
Aber genau aus diesem Grund bin ich halt auch am überlegen, was sinnvoller ist. Die Sicherheit, die vorgeht (wobei das bei dem von mir angedachten konkreten Fall nicht relevant ist, weil da keinerlei Sicherheitsfragen dran hängen), oder eben die andere Seite der Medaille; nämlich Keks-Verweigerer auszuschliessen...

Mit zunehmender Zeit tendiere ich dorthin, diejenigen, die Kekse satt haben auszuschließen.
Wer keine Kekse mag hat schließlich die Möglichkeit diese mit Schließen des Browsers zu löschen.

Auf der anderen Seite bin ich der Meinung, dass Seiten auch ohne JS laufen müssen, und hierauf übertragen heißt das für mich, dass die Seite auch ohne Cookie klarkommen muss!
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

die aktuelle Umfrage: Wo kauft ihr eure Literatur?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

« logout bei login über htaccess möglich? | Quelle des Aufrufs erkennen »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge anzufügen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are Aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[apache] php.ini konfigurieren; SessionID nicht immer automatisch anhängen Jann Hendrik Tools, Server, Betriebssysteme 10 10.07.2007 12:22
SessionID per Url auf Portal-Seite Artemis Fragen ans Team 7 09.07.2007 20:25
falscher Header? Erzwungener Download ex³ PHP-Programmierung 3 08.05.2006 16:22
htaccess - mod_rewrite - requested URL was not found Ben Tools, Server, Betriebssysteme 5 15.03.2006 19:30
[PHP] Wie übergebe ich Daten per URL? Ben Tutorials 0 05.12.2004 15:36


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:08 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.6.7, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.0.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44