问题完全修订于:2月19日
我想使用cURL获取一个HTML页面,该页面使用用户登录进行保护(在cURL请求时,用户已登录并拥有该页面的权限).
情况是用户位于index.php?w=2344&y=lalala&x=something受保护的网页上(通过安全脚本class.Firewizz.Security.php).在该页面上有一个"print as pdf"按钮.这会将用户发送getPDF.php到此页面查看请求来源的页面,并使用cURL获取该页面,并将该输出作为PDF打印发送到浏览器.
但是现在我在页面中设置页面变量static,getPDF.php所以它不检查引用者,我100%确定它尝试获取的页面是正确的.
此外,输出只是按原样回显,并且尚未转换为PDF,因此不会干扰问题.
预期输出现在与用户进入页面时的输出相同.除了不是这种情况,用户什么也得不到.
我们知道什么?我们知道$_SESSION数据没有被发送到cURL,我知道这是因为我回应$_SESSION了输出文件中的数据,表示它们是空的.
经过大量的尝试,我们仍然没有解决方案,仍然没有'$ _SESSION'数据.
我不想以任何方式破坏安全脚本,因此解决方案"删除ini_set('session.use_only_cookies', 1);不是我想要的".
根据要求(专用于帮助)我可以发送完整的脚本文件,但我会在下面发布相关的片段.
class.Firewizz.Security.php
<?php
/*
* Firewizz UserLogin
*/
namespace Firewizz;
class Security
{
// Start the session, with Cookie data
public function Start_Secure_Session()
{
// Forces sessions to only use cookies.
ini_set('session.use_only_cookies', 1);
// Gets current cookies params
$cookieParams = session_get_cookie_params();
// Set Cookie Params
session_set_cookie_params($cookieParams["lifetime"], $cookieParams["path"], $cookieParams["domain"], $this->isHTTPS, …Run Code Online (Sandbox Code Playgroud)