【发布时间】:2011-10-03 13:54:49
【问题描述】:
我正在处理需要 javascript 和会话的页面。如果 javascript 被禁用,我已经有代码来警告用户。现在,我想处理禁用 cookie 的情况,因为会话 id 存储在 cookie 中。
我想到了几个想法:
- 在链接和表单中嵌入会话 ID
- 警告用户,如果 cookie 被禁用,他们必须启用(需要帮助检测 cookie 是否被禁用)
解决此问题的最佳方法是什么?谢谢
编辑
根据链接的文章,我想出了自己的方法,并认为我会分享,其他人也许可以使用它,也许我会得到一些批评。 (假设您的 PHP 会话存储在名为 PHPSESSID 的 cookie 中)
<div id="form" style="display:none">Content goes here</div>
<noscript>Sorry, but Javascript is required</noscript>
<script type="text/javascript"><!--
if(document.cookie.indexOf('PHPSESSID')!=-1)
document.getElementById('form').style.display='';
else
document.write('<p>Sorry, but cookies must be enabled</p>');
--></script>
【问题讨论】:
-
在链接中嵌入会话 id 是可能的,但很麻烦。这意味着您正在向搜索引擎提供会话 ID。这意味着共享链接的人可以登录到同一个会话。
-
您能否将问题的标题更新为:Check if cookies are enabled with javascript ?
-
这不是问题的内容,请阅读整个问题。 JavaScript 就是这个问题的答案。
标签: php javascript session-cookies