如何使用javascript设置cookie的HttpOnly标志?

如何使用javascript设置cookie的HttpOnly标志?,javascript,cookies,httponly,Javascript,Cookies,Httponly,我正在尝试创建一个启用HttpOnly标志的cookie 关于如何在Java和.Net中实现这一点,似乎有太多的资源,但我需要在javascript中实现这一点 这是我的(当前失败的)函数 谢谢-您无法访问JavaScript中的HttpOnly cookie 以下引文摘自: 大多数现代浏览器都支持HttpOnly cookie。在受支持的浏览器上,只有在传输HTTP(或HTTPS)请求时才会使用HttpOnly会话cookie,因此限制从其他非HTTP API(如JavaScript)的访问

我正在尝试创建一个启用HttpOnly标志的cookie

关于如何在Java和.Net中实现这一点,似乎有太多的资源,但我需要在javascript中实现这一点

这是我的(当前失败的)函数


谢谢-

您无法访问JavaScript中的HttpOnly cookie

以下引文摘自:

大多数现代浏览器都支持HttpOnly cookie。在受支持的浏览器上,只有在传输HTTP(或HTTPS)请求时才会使用HttpOnly会话cookie,因此限制从其他非HTTP API(如JavaScript)的访问

换句话说,HttpOnly Cookie仅用于服务器端

我用PHP编写了一个示例:

<?php
$name = 'foo';
$value = 'bar';
$expirationTime = 0;    // Session cookie.
$path = '/';
$domain = 'localhost';
$isSecure = false;
$isHttpOnly = false;
setcookie($name, $value, $expirationTime, $path, $domain, $isSecure, $isHttpOnly);
?>
<script>
alert(document.cookie);
</script>

警报(document.cookie);
它会提醒
foo=bar


删除cookie,将
$isHttpOnly
更改为
true
,重新加载页面,您将看到一个空警报。但与此同时,浏览器存储cookie,以便在向服务器发出请求时发送它。

Http的全部目的不只是为了阻止Javascript访问它吗?我会质疑这个用例。据我所知,JavaScript无法访问/创建仅HTTP的cookies。这就是问题所在,对吧?用JavaScript设置
httponly
标志难道不符合目的吗?3条评论说了同样的话:)酷,我们都这么想!我本以为你可以创造一个,只是不看?
<?php
$name = 'foo';
$value = 'bar';
$expirationTime = 0;    // Session cookie.
$path = '/';
$domain = 'localhost';
$isSecure = false;
$isHttpOnly = false;
setcookie($name, $value, $expirationTime, $path, $domain, $isSecure, $isHttpOnly);
?>
<script>
alert(document.cookie);
</script>