我的标题中有这个脚本:
if (isset($_COOKIE['username'])) {$_SESSION['username'] = $_COOKIE['username'];}
if (isset($_COOKIE['is_logged_in'])) {$_SESSION['is_logged_in'] = $_COOKIE['is_logged_in'];}
我应该保护我的饼干免受注射吗? 像striplashes等。
答案 0 :(得分:2)
首先,您应该重新考虑您的身份验证系统。因为目前,知道如何更改cookie的任何人都可以在没有proper authentication的情况下冒充任何用户。这是一种更实际的安全漏洞。
注入漏洞取决于插入值的实际上下文,如果没有提供相关信息,我们将无法为您提供帮助。
答案 1 :(得分:0)
您应该在适当时使用esacpe输入。如果您要将用户名输出到HTML页面,请使用htmlentities($_COOKIE['username'])
。如果您要检查数据库中的用户名,请使用mysql_real_escape_string($_COOKIE['username'])
或准备好的语句。
您知道用户可以更改Cookie吗?如果我将username
Cookie设置为'Admin'并将is_logged_in
Cookie设置为'true'会怎样?