最近,我们在其中一个应用程序上运行了扫描,并返回了以下1个安全威胁:
1.Cookies NotMarked As Secure :: Cookie without Secure flag set
2.Cookie没有HttpOnly标志设置:: Cookiewithout HttpOnly标志设置
$this->cache_ptr = new CACHE($_COOKIE["sess"], 0, 0);
CACHE是一个使用Sessions等的用户构建的库。
我不确定用于标记cookie安全的正确语法并使用HttpOnly标志设置cookie。此外,这是在php 4中运行的遗留应用程序。 有人可以帮我解决这个问题,还是指点资源?
编辑: 我实施了Sven的推荐。有没有办法测试安全功能?
另外,因为我使用php4(必须事先更新) 我不能在setcookie函数中使用httponly。 这是否意味着,我需要在setcookie函数之前添加以下行?
header("Set-Cookie: hidden=value; httpOnly");
它会影响我的setcookie功能吗?
答案 0 :(得分:1)
使用setcookie()
。阅读它here。将第六个参数设置为true以使cookie安全。
答案 1 :(得分:1)
您显示的代码未设置Cookie。它可能触发设置cookie,但基本上你必须查看CACHE
类,看看那里发生了什么。
您正在寻找setcookie()
的函数调用,如果没有找到header('Set-Cookie...')
的函数调用。
您必须更改setcookie()以包含可选参数的所有默认值,直到最后您将最后两个设置为true表示安全和httponly。