最近在我们的一个应用程序上进行了扫描,它返回了以下1个安全威胁:
1.没有标记为安全::没有安全标志的cookie
cookie2.没有httponly标志设置的库克:: cookiewithout httponly标志
$this->cache_ptr = new CACHE($_COOKIE["sess"], 0, 0);
缓存是使用会话等的用户构建库。
我不确定正确的语法以标记cookie安全并用httponly标志设置cookie。另外,这是PHP 4中运行的旧应用程序。有人可以帮助我或将我指向资源吗?
编辑:我实施了Sven的建议。有什么方法可以测试安全功能?
另外,由于我正在使用PHP4(必须更新Eventaully)我不能在setCookie函数中使用httponly。这是否意味着,我需要在setCookie函数之前添加以下行?
header("Set-Cookie: hidden=value; httpOnly");
它会使用我的setCookie函数吗?
使用setcookie()
。在这里阅读有关它的信息。将第六个参数设置为true以使cookie安全。
您显示的代码未设置cookie。它可能会触发设置cookie,但是从本质上讲,您必须查看CACHE
类,看看那里发生了什么。
您正在寻找setcookie()
的函数调用,如果找不到的话,header('Set-Cookie...')
。
您必须更改setCookie()以包含可选参数的所有默认值,直到结束时,您将最后两个设置为Secure and Httponly。
看手册:http://de1.php.net/setcookie