【发布时间】:2015-07-18 03:19:20
【问题描述】:
我曾尝试使用 Cookie 和 PHP 会话将敏感信息从一页传递到下一页,但仍然没有成功。这在我测试过的所有浏览器中都可以正常工作,除了 Opera Mini。我还发现了这个:http://caniuse.com/#search=cookie
这就是我目前的设置方式。
page1.php:
<?php
session_start();
$time = time();
$key = '';
$hash = md5($key . $time);
$_SESSION['inno'] = '';
header("Location: page2.php". $hash);
exit;
?>
page2.php:
<?php
session_start();
if (isset( $_SESSION['inno'])) {
include("../global/header.php");
include("../global/content.php");
}
session_destroy();
?>
页面的内容是敏感信息,所以它从page1.php转到page2.php。
如果 Opera Mini 不支持以这种方式传递信息,是否有某种解决方法?
【问题讨论】:
-
我真的不明白你的问题,你说你在使用会话传递信息时遇到问题,但你没有提供任何实际使用数据做任何事情的例子......
-
所有主流浏览器都支持 Cookie,但它们可能会被禁用。您发布的链接是关于本地存储的,这是不同的。您的代码似乎没有做太多,但我认为这是一个不完整的示例。如果它可以在其他浏览器中运行,则可能是在 Opera Mini 中存储 cookie 时出现问题,可能是因为它们被禁用,或者是由于其他一些问题。不过,如果您希望我们判断您的代码是否应该工作,请制作一个实际使用数据并且可以重现问题的完整示例。
-
也许这会有所帮助? stackoverflow.com/a/10981509/2191572
-
@JonStirling 我认为 OP 对他们的代码做了一个非常简单的表示,只是忘记在某处添加
$_SESSION['var_name'] = 'some data'; -
...don't process cookies sent in anything but a 2xx response - you are responding with a 302 redirect...from stackoverflow.com/a/2584379/2191572 似乎相关