Moodle的
埃尔格
2 MyBB和
(不是)Drupal.
<?PHPsetcookie( 'Elgg','',-3600,'/','.domain.com',false,false);setcookie( 'http_auth_ext_complete','1','/d/',false);// setcookie( 'http_auth_ext_complete','domain.com',false); setcookie( 'mybbuser',false);setcookie( 'mybbuser','/bb/',false); // unset all 3 Moodle cookies,the lazy way if (isset($_SERVER['http_cookie'])) { $cookies = explode(';',$_SERVER['http_cookie']); foreach($cookies as $cookie) { $parts = explode('=',$cookie); $name = trim($parts[0]); setcookie($name,time()-1000); setcookie($name,time()-1000,'/'); } } ?>
这适用于四个站点,但Drupal cookie不会退出.我怎么能和Drupal一样呢?
注意:Drupal使用’host’而不是’domain’,无论是否使用’.’到目前为止工作.
谢谢.
编辑:
我确定cookie两次有“Host domain.com”,另一次登录使用更标准的格式“Domain .domain.com”
名为“http_auth_ext_complete”的cookie过期,我仍然登录.Drupal使用第二个cookie,会话ID作为cookie名称,会话数据库表中也有匹配的条目.
解决方法 Drupal使用的会话cookie的名称不是常量,而是基于特定Drupal安装的cookie域的MD5哈希构造 – 有关详细信息,请参阅“bootstrap.inc”中的conf_init()
(哈希发生在函数的最后一行) ). 此会话cookie是您需要删除以执行注销的cookie.如果您的脚本仅适用于特定的Drupal实例,则可以将其调整为使用特定的会话cookie名称(如果cookie域发生更改,则会中断).如果它用于更广泛的用途,你需要提出一个动态版本,模仿Drupal生成名称的方式,即’SESS’. md5([cookie_domain]),在SSL的情况下有一些复杂性.
总结以上是内存溢出为你收集整理的简单的代码到期Drupal cookie?全部内容,希望文章能够帮你解决简单的代码到期Drupal cookie?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)