Как Вы настраиваете, используют cookie HttpOnly в PHP

list('5+6')

возвращает

['5', '+', '6']
89
задан Anant Singh---Alive to Die 5 June 2015 в 22:09
поделиться

6 ответов

  • Для [1 120] Ваши cookie , см. этот ответ.
  • Для [1 121] собственные сеансовые куки PHP (PHPSESSID, по умолчанию), видят ответ @richie

setcookie() и setrawcookie() функции, представили httponly параметр, назад в средневековье PHP 5.2.0, делая это хорошим и легким. Просто установите 7-й параметр на истинный согласно синтаксису

, Синтаксис функций, упрощенный для краткости

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

, Входит NULL для параметров, которыми Вы хотите остаться как значение по умолчанию. Можно также хотеть рассмотреть, необходимо ли устанавливать secure параметр.

Это - также возможное использование более старого, низшего уровня header() функция:

header( "Set-Cookie: name=value; httpOnly" );
84
ответ дан Community 24 November 2019 в 07:11
поделиться

Знайте, что HttpOnly не останавливает сценарии перекрестного сайта; вместо этого, это нейтрализует одно возможное нападение, и в настоящее время делает это только на IE (FireFox представляет cookie HttpOnly в XmlHttpRequest, и Safari не соблюдает его вообще). Любой ценой включите HttpOnly, но не отбрасывайте даже час выходной фильтрации и тестирования пуха в торговле для него.

13
ответ дан tqbf 24 November 2019 в 07:11
поделиться

Обратите внимание, что сеансовые куки PHP не используют httponly по умолчанию.

, Чтобы сделать это:

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

Несколько знаменитых объектов здесь:

  • необходимо звонить session_name() прежде session_start()
  • , Это также устанавливает путь по умолчанию к '/', который необходим для Opera, но который сеансовые куки PHP не делают по умолчанию также.
13
ответ дан 24 November 2019 в 07:11
поделиться
<?php
//None HttpOnly cookie:
setcookie("abc", "test", NULL, NULL, NULL, NULL, FALSE); 

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

?>

Источник

6
ответ дан Marius 24 November 2019 в 07:11
поделиться

Объяснение здесь из Илии... 5.2 только, хотя

поддержка флага httpOnly cookie в PHP 5.2

, Как указано в той статье, можно установить заголовок сами в предыдущих версиях PHP

header("Set-Cookie: hidden=value; httpOnly");
5
ответ дан Polsonby 24 November 2019 в 07:11
поделиться

Можно определить, что это в функции cookie набора видит php руководство

setcookie('Foo','Bar',0,'/', 'www.sample.com'  , FALSE, TRUE);
5
ответ дан Re0sless 24 November 2019 в 07:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: