【问题标题】:Unable to read a cookie from perl when set by a php webpage由 php 网页设置时无法从 perl 读取 cookie
【发布时间】:2018-08-24 16:57:10
【问题描述】:

我在同一主机下有 2 个网页。 1个在php中,1个在perl cgi中。

php 页面在域“d.com”和路径“/”下设置了一个 cookie“c”。

在 perl 中,我试图读取 cookie "c" 的值。

我尝试了以下代码:

use CGI;    
use CGI::Cookie;

my $query = new CGI;
print $query->header();
#... some more code ...
$thecookie = $query->cookie(-name=>'c', -domain=>"d.com", -path=>"/");
print $thecookie;

任何帮助/想法将不胜感激。

谢谢。

【问题讨论】:

  • 能否请您显示包含 cookie 的传入 HTTP 请求标头?获取它们的最简单方法是通过浏览器的开发者工具。
  • 实际上如下所述,我发现了问题。问题是 cookie 设置为“安全”,这会强制浏览器仅通过 https 发送 cookie。由于 perl 页面是通过 http 访问的,因此浏览器没有返回 cookie。就这么简单。
  • 哈,没有读完所有的cmets。你应该写下你自己的答案。 ;)
  • 完成,我发布了我的答案 :)

标签: php perl cookies


【解决方案1】:

对于遇到此问题的任何人。 解决方案很简单

问题在于 cookie 设置为 "secure",这会强制浏览器仅通过 https 发送 cookie。

由于 perl 页面是通过 http 访问的,因此浏览器没有返回 cookie。就这么简单。

通过 https 访问页面解决了该问题。

【讨论】:

    猜你喜欢
    • 2015-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-22
    • 1970-01-01
    • 2013-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多