PHP'de Eğer kullanımını nasıl ayarlarım HttpOnly çerezleri

oy
81

Nasıl çerezleri ayarlayabilirsiniz PHP appsolarak HttpOnly cookies?

Oluştur 31/08/2008 saat 13:27
kaynak kullanıcı
Diğer dillerde...                            


9 cevaplar

oy
5

Burada Ilia Açıklama ... 5.2 sadece olsa

PHP 5.2 httpOnly çerez bayrak desteği

Söz konusu makalede belirtildiği gibi, daha önceki PHP sürümlerinde başlığını kendiniz ayarlayabilirsiniz

header("Set-Cookie: hidden=value; httpOnly");
Cevap 31/08/2008 saat 13:35
kaynak kullanıcı

oy
5
<?php
//None HttpOnly cookie:
setcookie("abc", "test", NULL, NULL, NULL, NULL, FALSE); 

//HttpOnly cookie:
setcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE); 

?>

Kaynak

Cevap 31/08/2008 saat 13:36
kaynak kullanıcı

oy
5

Sen seti çerez işlevinde belirtebilirsiniz php kılavuzuna bakın

setcookie('Foo','Bar',0,'/', 'www.sample.com'  , FALSE, TRUE);
Cevap 31/08/2008 saat 13:37
kaynak kullanıcı

oy
76

  • Için çerezlerinizle , bu cevaba bakınız.
  • Için PHP'nin kendi oturum tanımlama ( PHPSESSIDvarsayılan olarak,), bkz @ richie'in cevabını

setcookie()Ve setrawcookie()fonksiyonlar, tanıtılan httponlybu güzel ve kolay hale geri PHP 5.2.0 karanlık çağlarda, parametre. Basitçe sözdizimi gereğince, true 7 parametresini ayarlamak

Fonksiyon sözdizimi kısalık için basitleştirilmiş

setcookie(    $name, $value, $expire, $path, $domain, $secure, $httponly )
setrawcookie( $name, $value, $expire, $path, $domain, $secure, $httponly )

Enter NULLvarsayılan olarak kalmasını isteyen parametreler için. Ayrıca ayar gerekip gerekmediğini düşünebilir secureparametre.

Bu eski, alt düzey kullanarak da mümkündür header()fonksiyonu:

header( "Set-Cookie: name=value; httpOnly" );
Cevap 31/08/2008 saat 13:38
kaynak kullanıcı

oy
13

HttpOnly siteler arası komut dosyası durmaz unutmayın; bunun yerine, olası bir saldırıyı nötralize eder ve şu anda sadece IE bunu yapmaz (FireFox XMLHttpRequest çerezleri açığa HttpOnly ve Safari bunu hiç dikkate almaz). Elbette, HttpOnly açmak, ancak bunun için ticarette çıkış filtreleme ve tüylenme test bile bir saat düşürmeyin.

Cevap 10/09/2008 saat 20:40
kaynak kullanıcı

oy
11

Çerezler kullanmayın PHP oturumu Not httponlyvarsayılan olarak.

Bunu yapmak için:

$sess_name = session_name();
if (session_start()) {
    setcookie($sess_name, session_id(), null, '/', null, null, true);
}

Burada dikkat edilmesi öğelerin bir çift:

  • Sen aramak zorunda session_name() öncesession_start()
  • Bu aynı zamanda hangi PHP oturum çerezleri ya varsayılan olarak yapmıyoruz Opera ama için gerekli olan '/' için varsayılan yolu, ayarlar.
Cevap 30/10/2008 saat 13:57
kaynak kullanıcı

oy
92

Apache üzerinde PHP'nin kendi oturum çerezleri için:
Apache yapılandırmanıza bu ekleyebilir veya.htaccess

<IfModule php5_module>
    php_flag session.cookie_httponly on
</IfModule>

Bu aynı zamanda sürece daha önce denir gibi bir komut dosyası içinde ayarlanabilir session_start().

ini_set( 'session.cookie_httponly', 1 );
Cevap 04/01/2012 saat 09:41
kaynak kullanıcı

oy
3

Bir başlık dosyasında bu kullanabilirsiniz.

// setup session enviroment
ini_set('session.cookie_httponly',1);
ini_set('session.use_only_cookies',1);

Gelecekteki tüm çerezleri httponly kullanacağı Bu şekilde.

Cevap 27/05/2013 saat 21:24
kaynak kullanıcı

oy
1

php_flag komutunun doğru sözdizimi

php_flag  session.cookie_httponly On

Ve sen "HttpOnly" yönergesini görebilirsiniz örneğin burada sunucuya set çerez ve (dan farkında, sadece ilk cevap. Test her test isteğinden sonra tarayıcıdan çerezleri silmek için Yani.

Cevap 19/11/2013 saat 18:51
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more