Session 如何在Drupal 7中禁用匿名用户的Cookie

Session 如何在Drupal 7中禁用匿名用户的Cookie,session,cookies,drupal-7,Session,Cookies,Drupal 7,我想禁用Drupal 7为匿名用户设置的cookie 我找到了settings.php的解决方案 ini_set('session.use_cookies', '0'); ini_set('session.use_only_cookies', '0'); ini_set('session.use_trans_sid', '1'); 但这将阻止我以管理员身份登录 那么,有人知道如何仅为匿名用户禁用Cookie吗?Drupal 7没有为匿名用户设置会话Cookie(至少是较新的版本),因此这里没有

我想禁用Drupal 7为匿名用户设置的cookie

我找到了settings.php的解决方案

ini_set('session.use_cookies', '0');
ini_set('session.use_only_cookies', '0');
ini_set('session.use_trans_sid', '1');
但这将阻止我以管理员身份登录


那么,有人知道如何仅为匿名用户禁用Cookie吗?

Drupal 7没有为匿名用户设置会话Cookie(至少是较新的版本),因此这里没有那么麻烦

如果您想删除匿名用户的has_js cookie,您可以通过在主题中添加一段代码加载额外的js文件并使cookie过期来解决

在主题中加载JS文件:

function yourtheme_process_page(&$variables) {
    [...code...]
    global $user;
    if ( !$user->uid) {
        drupal_add_js(drupal_get_path('theme', 'yourtheme') . '/js/remove_has_js.js');
    }
}
JS文件的内容(设置过去某个时间的cookie将过期/删除):


您找到解决方案了吗?禁用Cookie的主要原因是什么?
document.cookie = 'has_js=0; expires=Fri, 01 Jan 1977 01:00:00 GMT; path=/';