【发布时间】:2016-02-28 18:48:09
【问题描述】:
我在 Pantheon 上托管的 Drupal 应用程序中设置了一个 cookie(假设 URL 是 domain.com/step/1),然后立即重定向到这样的外部 URL:
$expires = time()+(60*60*24);
setrawcookie('tourPath', '/step/1', $expires, '/');
header('Location: http://www.someexternalurl.com?redirect='.$callback_url);
外部 URL 以与此问题无关的方式处理请求,但随后会重定向到 $callback_url。假设它是domain.com/callback。无论如何,它在同一个域中,但它只是一个普通的 PHP 脚本(不在 Drupal 中)。
我在这里遇到的问题是,当重定向到回调脚本时,我可以在浏览器中看到设置了 tourPath cookie,但它不在 $_COOKIE 数组中。强>
我可以在 $_COOKIE 中看到各种 Drupal cookie,所以一般设置 cookie 没有问题。
我尝试改用setcookie(),但这没有帮助。
【问题讨论】:
-
附带说明,由于我无法控制外部服务的限制,无法在回调 URL 中设置此
tourPath变量:它们要求将所有重定向 URL 列入白名单,因此必须将每个 /step/1、/step/2、/step/3 等都列入白名单是一件非常痛苦的事情......
标签: php cookies drupal drupal-7 pantheon