在我使用它们之前,我总是为会话做一个清洁方法,例如
mysql_real_escape_string($_SESSION['username']);
会话仅将id保存到存储在服务器上的物理文件中。如何将此会话用于客户端进行恶意活动?那么在使用之前是否需要清理会话?
答案 0 :(得分:1)
如果您从会话中阅读用户输入,则必须对其进行清理。如果用户无法影响该值(可能是时间戳),则无需检查它。
在使用该值之前,必须进行消毒,例如:在输出到html页面之前或在SQL语句中使用变量之前。要写入HTML表单,您可以使用函数htmlspecialchars()
,将该变量用于MySql SQL语句使用spezialized函数mysql_real_escape_string()
。
答案 1 :(得分:0)
在查询MySQL数据库时,只需要使用mysql_real_escape_string函数。
当你说文件的ID时,你的意思是变量总是包含一个整数吗?如果是这样,那么就没有理由逃避它,因为它不是一个字符串。
如果您不确定会话变量将包含哪些内容,那么您应该始终对其进行转义/清理。