在客户端防止操作cookie

时间:2014-05-31 03:03:23

标签: php security cookies

我知道cookie只适用于字符串而且不接受数组......到目前为止一直很好

创建和阅读cookie:

setcookie( 'name' , 'my name is foo' );
echo $_COOKIE['name']; // output my name is foo 


如果用户将Cookie名称更改为:name[]
他更改了数组中的Cookie name,我们收到错误:数组到字符串转换。

1)我们如何防止这种安全处理cookie?
2)如果我们使用一类cookie,get方法应该只返回字符串?

1 个答案:

答案 0 :(得分:2)

您有两种选择:

  1. 使用会话变量而不是cookie。

  2. 使用时验证您的厨师。其中一部分可能是加密cookie值,并在值之前加上私钥。该脚本可以解密cookie并测试它是否以私钥开头。您还可以测试用户是否将cookie重命名为数组:

    if (is_string($_COOKIE['name'])) {
        ...
    }