use*_*136 24 javascript cookies httponly
我正在尝试创建一个cookie,并启用了HttpOnly标志.
虽然在Java和.Net中似乎有很多关于如何使用它的资源,但我需要在javascript中完成它.
这是我的(当前失败的)功能
createCookie = function(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; domain=my.domain.com; path=/; HttpOnly;";
Run Code Online (Sandbox Code Playgroud)
谢谢 -
Yev*_*iuk 24
您无法在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>
Run Code Online (Sandbox Code Playgroud)
它提醒foo=bar.
删除cookie,更改$isHttpOnly为true,重新加载页面,您将看到一个空警报.但与此同时,浏览器会存储cookie,以便在向服务器发出请求时将其发送.
| 归档时间: |
|
| 查看次数: |
31055 次 |
| 最近记录: |