我正在使用PHP设置cookie,并且想知道cookie存在哪些安全风险。
例如可以进行代码注入,就像有人将cookie设置为mail(blah, blah, blah);
并从我的服务器发送垃圾邮件一样?或者将cookie设置为file_get_contents('secretfile.txt');
以读取敏感系统文件?
我假设它取决于cookie的使用方式,这显然是愚蠢的:
<?php
exec($_COOKIE['cmd']);
?>
但是,使用cookie只是设置输入值是否安全而不进行消毒?
答案 0 :(得分:2)
Cookie与用户输入一样安全。你应该非常小心。
答案 1 :(得分:1)
不,不。您可以编辑GET或POST参数等cookie的值。
Firebug可以在Firefox中执行此操作,Chrome在此获得了本机调试器, 所以也验证你的cookie的内容。
这是一个常见的错误:
if(isset($_COOKIE['lang'])){
$lang=$_COOKIE['lang'];
}else{
$lang="english";
}
include ("translation/".$lang.".html");
在情况下允许本地文件包含(LFI),因为$ _COOKIE [&#39; lang&#39;]的内容可以修改。