问题在标题中。
我可以$_COOKIE['blah']
在 webroot 中访问我的 php 文件,但出于安全目的,我在 webroot 之外包含了无法访问它的内容。
例子
/home/wwwroot/index.php
可以读取 $_COOKIE['blah']
它的完整路径在哪里http://www.mydomain.com/index.php
。
/home/scrape/process.php
无法读取 $ _COOKIE ['blah']
但它在webroot之外,并且该scrape
文件夹不能在服务器之外访问。
Index.php可以回显存储在 cookie 中的值,并将带有该值的时间戳写入日志文件。这行得通。
无需发布所有代码并尝试保持简单,就像这样简单:
<?PHP
include '../scrape/process.php'; // THIS FILE IS OUTSIDE THE WEBROOT
$cook=$_COOKIE['blah'];
echo "Cookie value is : " . $_COOKIE['blah'] ;
error_log('['.date("F j, Y, g:i a e O").']'.$cook."<br /> \n", 3, $phperrorPath);
?>
<?PHP
echo 'Outer cookie is : ';
echo outer_cookie();
?>
Process.php函数从 index.php 中调用,然后它将返回 cookie 的值,并使用时间戳和 cookie 值写入它自己的日志文件。这不起作用。日志文件只有时间戳,没有值,它不会向 index.php 返回任何内容。
function outer_cookie()
{
$cook=$_COOKIE['blah'];
error_log('['.date("F j, Y, g:i a e O").']'.$cook."<br /> \n", 3, $phperrorPath);
return $cook;
}
如何让 process.php 读取 cookie 数据?我显然不能将cookie路径设置为webroot之外的东西,即使我可以,那么webroot中的所有东西都无法访问它......
我必须$_SESSION
和饼干一起使用吗?我讨厌不得不重复这项工作......