Montag, 11. Juni 2007

PHP

Session-ID nicht in der URL sondern nur im Cookie speichern

Oft ist es angebracht, die Session-ID von PHP nur in einem Cookie zu speichern. Standardmäßig hängt aber PHP die Session-ID als Fallback auch an die URL an.

Anwendungsgebiete

Beispielsweise erzeugen viele Portale, CMS-Lösungen und Forensofware schon beim Betreten einer Seite eine Session-ID. Das ist aber aus der Sicht der Suchmaschinenoptimierung ungeschickt, da so für den Robot es jedesmal eine andere Seite ist, welche aber den gleichen Inhalt hat. Das führt zur Abstrafung der Seite und zu schlechten Positionen in Suchmaschinenen.

Ein anderer Fall ist die Sicherheit. Viele User kopieren ungeachtet ihre URL aus dem Browser und verschicken sie per Mail, Chatprogramm oder ähnlichem. Somit kann aber ein böswilliger Mensch die Sitzung des Benutzers übernehmen und damit allerhand Schabernack anstellen.

Session-ID aus der URL verbannen

Wer die Session-ID aus der URL verbannen will, hat drei Möglichkeiten dies zu tun.

Global via Eintrag in der php.ini

In der php.ini wird folgender Eintrag gesucht: "session.use_trans_sid". Dieser Eintrag muss der Wert 0 zugewiesen werden. Der Eintrag muss also lauten:

session.use_trans_sid = 0

Nach einem Neustart des Webservers, ist die Session-ID global für alle Webpräsenzen aus der URL verbannt.

Eintrag in der vhost.conf

Durch den Eintrag php_value session.use_trans_sid 0 im Entsprechenden Virtual Host, kann man es für bestimmte Hosts ausschalten.

Via htaccess

In Shared-Hosting Umgebungen, kommt man aber meistens nicht an die php.ini, oder an die vhost.conf Datei. Durch Anlegen der Datei .htaccess im Webserverzeichnis mit dem Inhalt:

php_value session.use_trans_sid 0

lässt sich die Option gezielt für ein Verzeichnis ausschalten. Die .htaccess-Datei führt aber zu einem größeren Overhead, sprich Belastung des Webservers.

Das ist der Trick Nummer 5 aus der Reihe die 100 besten PHP Tricks.

Bewertung: 2 von 5, 1 Stimme(n) 3016 Klicks
PHP
Von Mr.Foo in PHP am 11.06.07@21:16 Uhr

Trackbacks
Trackback für spezifische URI dieses Eintrags

Keine Trackbacks

0 Kommentare
Ansicht der Kommentare: (Linear | Verschachtelt)

Noch keine Kommentare


Kommentar schreiben

Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Sie können [geshi lang=LANG][/lang] Tags verwenden um Quellcode abhängig von der gewählten Programmiersprache einzubinden
 
 

Mr. Foo

Session-ID nicht in der URL sondern nur im Cookie speichern

  • Homepage

Suche

Kategorien

  • Android (2)
  • C-Sharp (4)
  • Datenbank (30)
  • Delphi (2)
  • Entwicklung (36)
  • Flash (5)
  • Games (10)
  • Gutscheine (4)
  • Hardware (14)
  • HTML CSS (16)
  • Internet (88)
  • Java (32)
  • Javascript (24)
  • Linkdump (9)
  • Linux (102)
  • Low-Level (10)
  • Lua (8)
  • Musik (9)
  • Netzwerk (25)
  • New World Order (109)
  • Perl (3)
  • PHP (130)
  • Magento (5)
  • Symfony (3)
  • Zend Framework (7)
  • Probleme und Lösungen (26)
  • Python (22)
  • Ressourcen (23)
  • Sicherheit (91)
  • Software (60)
  • Sonstiges (47)
  • Own Stuff (48)
  • Spass (46)
  • Technik / Wissenschaft (4)
  • Tips (15)
  • Weisheiten (17)
  • Windows (23)
  • Wort des Tages (15)


Alle Kategorien

Archive

  • Mai 2012
  • April 2012
  • März 2012
  • Das Neueste ...
  • Älteres ...

Abonnieren lohnt sich!

  • XML RSS 2.0 feed
  • ATOM/XML ATOM 1.0 feed
  • XML RSS 2.0 Kommentare

Tagcloud

Datenbank Entwicklung Internet Java Javascript Linux Lösung Netzwerk News New World Order PHP Problem Probleme und Lösungen Sicherheit Software Sonstiges Spass Tipp Update Windows

Beliebte Einträge

  • Magento ist scheisse (197)
  • Plugin-container.exe deaktivieren (107)
  • BWin Betrug und Abzocke bei Minigames? (65)
  • C compiler cannot create executables unter Debian (53)
  • Scheiss Linux - USB-Platte viel zu langsam (wenns mal funktioniert) (43)
  • Sicheres Kontaktformular mit PHP - Spam verhindern (37)
  • UML-Diagramme aus Java-Klassen generieren – Java2UML (28)
  • Es konnte keine TCP/IP-Verbindung mit dem Host hergestellt werden (28)
  • Option Bug im Internet Explorer bei Nutzung von innerHTML und Javascript (24)
  • Zend Studio - Javaw.exe lastet die CPU aus (24)

Kommentare

Hugo zu BWin Betrug und Abzocke bei Minigames?
So, 20.05.2012 12:25
ich habe mich gestern auf BWIN reg [...]
Ubuntu 12.04 zu The assembly mscorlib.dll was not found or could not be loaded.
Fr, 18.05.2012 17:11
Hat bei mir leider nicht geklappt. [...]
Oliver Riske zu Es konnte keine TCP/IP-Verbindung mit dem Host hergestellt werden
Di, 15.05.2012 20:38
Super Danke!
anon zu BWin Betrug und Abzocke bei Minigames?
Sa, 05.05.2012 18:43
ihr scheiss betrüger
Jürgen zu Unable to elevate error:1814 VLC Problem
Mi, 02.05.2012 16:54
So einfach ist es bei mir jedenfal [...]
 

Kontakt/Informationen