KKUT Docs

Çerezler Kütüphanesi

Çerez oluşturma, kullanma ve silme gibi işlemleri gerçekleştiren sınıftır. # Kurulum Bu bileşen KUT ile birlikte gelir; ayrıca kurulum gerektirmez. ↓ Paket KUT ile birlikte gelir. # Yapılandı…

Çerez oluşturma, kullanma ve silme gibi işlemleri gerçekleştiren sınıftır.

Kurulum

Bu bileşen KUT ile birlikte gelir; ayrıca kurulum gerektirmez.

↓ Paket KUT ile birlikte gelir.

Yapılandırma

File: Config/Storage.php
Cookie
string $encode = 'super' Çerez anahtarlarını şifrelemek için kullanılır. Şifrelenmesi istenmiyorsa bu değer boş bırakılır.
Seçenekler super, golden, md5, sha1 ....
bool $regenerate = true Sayfa yenilenmesinde oturum kimliğinin değiştirilip değiştirilmeyeceği.
Scalar $time = 604800 Çerezin yaşam süresi.
string $path = '/' Çerezlerin tutulacağı dizin bilgisi.
string $domain = '' Çerezin istemciye güvenli bir HTTPS bağlantısı üzerinden mi aktarılması gerektiğini belirtmek için kullanılır.
bool $secure = false Çerezin istemciye güvenli bir HTTPS bağlantısı üzerinden mi aktarılması gerektiğini belirtmek için kullanılır.
bool $httpOnly = true TRUE olduğu takdirde çerez sadece HTTP protokolü üzerinden erişilebilir olacaktır. Yani çerez, JavaScript gibi betik dilleri tarafından erişilebilir olmayacaktır.
 

INI Yapılandırması

File: Settings/Ini.php

Bu ayarların kullanımı Session kütüphanesinde anlatılan kullanımla aynıdır.

Yöntemler

bool insert(string $name, $value, int $time = [[CONFIG_TIME]])
mixed select(string $name)
array selectAll(void)
bool delete(string $name, string $path = [[CONFIG_PATH]])
bool deleteAll(void)
this time(int $time)
this path(string $path)
this domain(string $domain)
this secure(bool $secure)
this httpOnly(bool $httpOnly)
this encode(string $name, string $value)
this decode(string $hash)

 

Insert

Çerez oluşturmak için kullanılır.

Parametreler

string $name Çerez adı.
mixed $value Çerezin tutacağı değer.
Scalar $time = 604800 Çerezin yaşam süresi.
return bool

Kullanımı

Cookie::insert('example', 'Example Data');

echo Cookie::select('example');
Example Data 

İstenirse değer olarak dizi verisi de tutulabilir.

Cookie::insert('example', ['a', 1, 'b']);

output(Cookie::select('example'));
0 => string 'a' ( length = 3 ),
1 => integer 1 ( length = 1 ),
2 => string 'b' ( length = 3 )

Doğrudan Erişim

Cookie::example('Example Data');

Select

Oluşturulan çerezleri kullanmak için kullanılır. Eğer oturum bulunmazsa FALSE değeri döner.

Parametreler

string $name Çerez adı.
return mixed

Kullanımı

Cookie::insert('example', 'Example Data');

echo Cookie::select('example');
Example Data 

Doğrudan Erişim

echo Cookie::example();

SelectAll

Oluşturulan tüm çerezlerin değerlerini dizi olarak almak için kullanılır.

Parametreler

void
return array

Kullanımı

Cookie::insert('example', ['a', 1, 'b']);
Cookie::insert('value', 'Value');

output(Cookie::selectAll());
value => string 'Value' ( length = 7 ),
example => string '["a",1,"b"]' ( length = 13 ),
 

Doğrudan Erişim

output(Cookie::all());

Delete

Oluşturulan çerezleri silmek için kullanılır.

Parametreler

string $name Çerez adı.
return bool

Kullanımı

Cookie::insert('example', 'Example Data');
Cookie::delete('example');
echo Cookie::select('example');
false 

Doğrudan Erişim

Cookie::exampleDelete();

DeleteAll

Oluşturulan tüm çerezleri silmek için kullanılır.

Parametreler

void
return bool

Kullanımı

Cookie::insert('example', ['a', 1, 'b']);
Cookie::insert('value', 'Value');
Cookie::deleteAll();

output(Cookie::selectAll());
[]

Time

Çerezin yaşam süresini belirlemek için kullanılır. Opsiyonel yöntemdir. Cookie::insert() yönteminin 3. parametresi yerine kullanılır.

Parametreler

Scalar $time Çerezin yaşam süresinin saniye cinsinden belirtilmesidir.
return this

Kullanımı

Cookie::time(60 * 60 * 24)->insert('oneDay', 'One Day');

Path

Çerezin tutulacağı dizini belirlemek için kullanılır. Opsiyonel Yöntemdir.

Parametreler

string $path Çerezin hangi dizinde tutulacağı.
return this

Kullanımı

Cookie::path('/cookies/')->time(60 * 60 * 24)->insert('example', 'Example Value');

Domain

Çerezinin hangi alan isimleri için geçerli olacağını belirlemek için kullanılır. Opsiyonel Yöntemdir.

Parametreler

string $domain Çerezlerin geçerli olacağı alan adı.
return this

Kullanımı

Cookie::domain('example.com')
      ->path('/cookies/')
      ->time(60 * 60 * 24)
      ->insert('example', 'Example Value');

Secure

Çerezin istemciye güvenli bir HTTPS bağlantısı üzerinden mi aktarılması gerektiğini belirtmek için kullanılır. TRUE belirtildiği takdirde, çerez sadece güvenli bağlantı mevcutsa gönderilecektir. Opsiyonel Yöntemdir.

Parametreler

bool $secure Güvenli kip.
return this

Kullanımı

Cookie::secure(true)
      ->domain('example.com')
      ->path('/cookies/')
      ->time(60 * 60 * 24)
      ->insert('example', 'Example Value');

Encode

Çerezin oluştururken hem değeri tutacak anahtarı hemde değerin kendsini şifrelemek için kullanabilirsiniz. Burada dikkat edilmesi gereken nokta anahtar şifrelemesi çözümlenebilirken değerin şifrelemesi çözümlenememektedir. Ön tanımlı olarak Config/Services.php -> cookie ayarları içinde ön tanımlı olarak anahtarın şifrelenmesi için kullanılan encode ayarı md5 olarak ayarlıdır.

Parametreler

string $encodeName Çerezin değerini tutacak anahtarın şifrelenmesi için kullanılır. Boş bırakılması halinde hiç bir şifreleme yapmaz.
string $encodeValue Çerezin verisini şifrelemek için kullanılır. Boş bırakılması halinde hiç bir şifreleme yapmaz.
return this

Kullanımı

Cookie::encode('md5')->insert('sessionValue', 'Session Value');
Cookie::encode('sha1')->insert('sessionValue', 'Session Value');

Output::writeLine(Cookie::decode('md5')->select('sessionValue'));
Output::writeLine(Cookie::decode('sha1')->select('sessionValue'));
Session Value
Session Value 

Decode

Cookie::encode() ile şifrelenmiş çerez adını çözer. Şifreleme değer için tek yönlü olarak yapıldığı için çözümlenemez.

Parametreler

string $encodeName Çerezin değerini tutacak anahtarın şifrelenmesi için kullanılır. Boş bırakılması halinde hiç bir şifreleme yapmaz.
return this

Kullanımı

Cookie::encode('md5')->insert('value', 'Cookie Value');

Output::writeLine(Cookie::decode('md5')->select('value'));
Cookie Value 

İstenirse oturumun değeri de şifrelenebilir. Ancak bu kullanımda verinin çözümlenmesi mümkün değildir.

Cookie::encode('md5', 'sha1')->insert('value', 'Cookie Value');

Output::writeLine(Cookie::decode('md5')->select('value'));
ed3f3e737cd0b4e396b1350e119a665b156e133a
KUT 1.0

SameSite ve güvenli çerezler

Çerezler PHP’nin seçenek dizisiyle oluşturulur. Varsayılan SameSite=Lax ve HttpOnly=true değeridir. secure açıkça ayarlanmadığında HTTPS isteklerinde otomatik etkinleşir.

// Config/Storage.php
"cookie" => [
    "secure"   => null,
    "httpOnly" => true,
    "sameSite" => "Lax"
]

Ödeme sağlayıcısının başka bir siteden POST ile döndüğü akışlarda SameSite=None gerekebilir. Bu değer yalnızca Secure çerezlerle kullanılmalıdır.

KUT Framework 1.0Katmanlı Uygulama Tabanı

Kur. Uyarla. Türet.