是否有可能从javascript检索现有cookie的创建或到期日期?如果是这样如何?如何从javascript获取cookie过期日期/创建日期?
回答
该信息不可通过document.cookie获得,但是如果您真的非常渴望它,可以尝试通过XmlHttpRequest对象执行请求到当前页面并使用getResponseHeader()访问cookie标头。
响应头上没有这样的东西。 我试过了:request.getAllResponseHeaders();它提供了一个关闭的事情:到期日:星期四,1981年11月19日08:52:00格林尼治标准时间 但没有相关的各种cookie与他们到期时间... ...为什么呢?服务器与客户端Cookie无关...... – Carmageddon 2012-11-27 08:28:07
出于安全原因,从xhr响应中删除了Set-Cookie和Set-Cookie2标头。你可以做的是在服务器端设置额外的cookie和cookie到期日期并读取它。 – 2015-05-10 07:55:37
我不认为这会起作用 – 2015-07-15 22:00:00
这是不可能的。 document.cookie
包含以下字符串中的信息:
key1=value1;key2=value2;...
因此,没有关于日期的任何信息。
您可以在不同的cookie变量存储这些日期:
auth_user=Riateche;auth_expire=01/01/2012
但用户可以更改此变量。
好的建议... – mkoistinen 2017-11-28 04:25:52
一种可能性是删除到cookie,您正在查找并重写它的到期日期。然后你就会知道到期日期。
你无法通过JavaScript得到一个cookie的有效期,因为当你尝试读取cookie从JavaScript的document.cookie中仅返回名称和cookie的成对
的价值是,它是可能的。我已经分开的代码在两个文件中:
的index.php
<?php
$time = time()+(60*60*24*10);
$timeMemo = (string)$time;
setcookie("cookie", "" . $timeMemo . "", $time);
?>
<html>
<head>
<title>
Get cookie expiration date from JS
</title>
<script type="text/javascript">
function cookieExpirationDate(){
var infodiv = document.getElementById("info");
var xmlhttp;
if (window.XMLHttpRequest){
xmlhttp = new XMLHttpRequest;
}else{
xmlhttp = new ActiveXObject(Microsoft.XMLHTTP);
}
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
infodiv.innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "cookie.php", true);
xmlhttp.send();
}
</script>
</head>
<body>
<input type="button" onclick="javascript:cookieExpirationDate();" value="Get Cookie expire date" />
<hr />
<div id="info">
</div>
</body>
</html>
cookie.php现在
<?php
function secToDays($sec){
return ($sec/60/60/24);
}
if(isset($_COOKIE['cookie'])){
if(round(secToDays((intval($_COOKIE['cookie']) - time())),1) < 1){
echo "Cookie will expire today";
}else{
echo "Cookie will expire in " . round(secToDays((intval($_COOKIE['cookie']) - time())),1) . " day(s)";
}
}else{
echo "Cookie not set...";
}
?>
,index.php文件必须加载一次。通过AJAX请求,“获取Cookie过期日期”按钮将始终为您提供更新的“剩余时间”,以便在这种情况下以天为单位。
'intval($ _ COOKIE ['cookie'])'假设您将过期值存储在cookie值中 – 2015-07-14 19:34:44
@ JonathanLeaders正确地说,它被存储在cookie值中,我没有明白你的意思 – 2015-07-15 07:35:25
OP指的是从已经存在的cookie中检索日期,而不是我们创建的新日期,将日期作为单独的信息存储 – 2015-07-15 21:58:22
如果您使用的是Chrome,则可以转到“资源”选项卡并在左侧边栏中找到“Cookies”项。从那里选择你正在检查设置cookie的域名,它会给你一个与该域名相关的cookies列表,以及它们的截止日期。
即使这没有解决使用JavaScript,它仍然有用。 – Stonetip 2015-01-07 20:13:45
在这个例子中,你可以解释一下当'Expires'列显示'会话'的一些cookie和一个日期的含义。 – 2016-11-25 05:04:10
@GauravOjha如果它说会话,那么它意味着它会在服务器分配给你一个新的会话时到期,并且可以通过(A)注销(B)关闭浏览器(不是标签)来完成 ,,,,,但是如果它显示一些日期,这意味着它是一个手动创建的cookie(某些代码创建它并明确设置了日期) – 2016-11-27 08:03:18
这很好。顺便说一句。它现在是应用程序选项卡 - 不是资源(mac)。 – chiappa 2017-07-31 13:43:15
- 1. 读取cookie过期日期
- 2. 设置Cookie过期日期 - Javascript
- 3. Cookie的过期日期
- 4. NSHTTPCookieStorage和Cookie过期日期
- 5. Cookie设置日期过期
- 6. Filesysteminfo获取创建日期
- 7. 如何获取日期和日期?
- 8. 从Jtextfield获取日期并添加过期日期
- 9. javascript从年,月,日创建日期
- 10. 如何从JavaScript获取日期时间?
- 11. 从Python的日期列获取周开始日期(星期日)
- 12. 如何从日历中获取日期?
- 13. 如何从Internet Explorer获取与cookie相关的过期日期和标志?
- 14. 如何从日期值中获取日期年份中的日期
- 15. Javascript获取日期()对象从字符串时间和日期
- 16. javascript从datepicker获取日期比添加日期
- 17. 创建oracle用户的过期日期
- 18. vba从文件创建日期获取星期几名称?
- 19. vba从文件创建日期获取星期几名称?
- 20. GET $ .cookie过期日期时间
- 21. 设置Cookie时的过期日期
- 22. JSESSIONID在Tomcat中过期日期的Cookie
- 23. 如何从日期对象python获取日期时间?
- 24. 如何从jquery日期选择器使用droppable获取日期
- 25. 如何从日期查询中获取日期和月份?
- 26. 如何从日期范围使用groovy获取日期列表
- 27. 如何从android中的日期选择器中获取日期?
- 28. Mysql如何从列日期获取新日期?
- 29. 如何在CodeIgniter中仅从日期时间获取日期?
- 30. 如何获取记录从日期到日期的SQL Server
只是好奇,你为什么标记错误的答案被接受? – 2016-04-26 07:51:29