在使用它们之前是否有必要清理会话?

时间:2011-06-17 04:20:01

标签: php security

在我使用它们之前,我总是为会话做一个清洁方法,例如

mysql_real_escape_string($_SESSION['username']);

会话仅将id保存到存储在服务器上的物理文件中。如何将此会话用于客户端进行恶意活动?那么在使用之前是否需要清理会话?

2 个答案:

答案 0 :(得分:1)

如果您从会话中阅读用户输入,则必须对其进行清理。如果用户无法影响该值(可能是时间戳),则无需检查它。

在使用该值之前,必须进行消毒,例如:在输出到html页面之前或在SQL语句中使用变量之前。要写入HTML表单,您可以使用函数htmlspecialchars(),将该变量用于MySql SQL语句使用spezialized函数mysql_real_escape_string()

答案 1 :(得分:0)

在查询MySQL数据库时,只需要使用mysql_real_escape_string函数。

当你说文件的ID时,你的意思是变量总是包含一个整数吗?如果是这样,那么就没有理由逃避它,因为它不是一个字符串。

如果您不确定会话变量将包含哪些内容,那么您应该始终对其进行转义/清理。