PHP 8.4.1 Released!

session_id

(PHP 4, PHP 5, PHP 7, PHP 8)

session_idGeçerli oturum kimliğini döndürür ve/veya tanımlar

Açıklama

session_id(?string $kimlik = null): string|false

session_id() işlevi, geçerli oturumun oturum kimliğini döndürür.

URL'lere eklemek amacıyla geçerli oturumun oturum kimliği oturum ismiyle birlikte SID sabitinden de öğrenilebilir. Daha ayrıntılı bilgi için Oturum Yönetim Sistemine bakınız.

Bağımsız Değişkenler

kimlik

kimlik belirtilmişse ve null değilse, geçerli oturum kimliğinin yerini alır. session_id() bu amaçla kullanılacaksa session_start() işlevinden önce çağrılmalıdır. Oturum kayıt ortamına bağlı olarak oturum kimliği içinde tüm karakterlere izin verilmez. Örneğin, oturum kayıt ortamı dosyalar olduğu takdirde sadece a-z A-Z 0-9 , (virgül) and - (tire) karakterlerine izin verilir.

Bilginize: Oturum çerezleri kullanıldığında, session_id() işlevini oturum kimliğini değiştirmek için kullanırsanız, geçerli oturum kimliğinin belirtilenle aynı olup olmadığına bakılmaksızın session_start() çağrısı yapıldığında daima yeni bir çerez gönderilir.

Dönen Değerler

session_id() işlevi geçerli oturumun oturum kimliğini veya geçerli bir oturum yoksa boş bir dizge ("") döndürür, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: Açıklama
8.0.0 kimlik artık null olabiliyor.

Ayrıca Bakınız

add a note

User Contributed Notes 1 note

up
42
Riikka K
9 years ago
It may be good to note that PHP does not allow arbitrary session ids. The session id validation in PHP source is defined in ext/session/session.c in the function php_session_valid_key:

https://github.com/php/php-src/blob/master/ext/session/session.c

To put it short, a valid session id may consists of digits, letters A to Z (both upper and lower case), comma and dash. Described as a character class, it would be [-,a-zA-Z0-9]. A valid session id may have the length between 1 and 128 characters. To validate session ids, the easiest way to do it use a function like:

<?php

function session_valid_id($session_id)
{
return
preg_match('/^[-,a-zA-Z0-9]{1,128}$/', $session_id) > 0;
}

?>

session_id() itself will happily accept invalid session ids, but if you try to start a session using an invalid id, you will get the following error:

Warning: session_start(): The session id is too long or contains illegal characters, valid characters are a-z, A-Z, 0-9 and '-,'
To Top