我正在构建一个测验站点,在$_SESSION每个问题之后我存储一些变量(回答时间,用户选择哪个答案选项等等)- 我只是在用户完成后将这些统计信息放入数据库中测验.
我已经实现了一些if来检查这些$_SESSION变量是否是数字(is_numeric()).我也验证了长度(strlen())等.
real_escape_string()它们存储在MySQL之前就足够了?不,因为你自己设置它们.
除非您直接从用户输入中推断出它们,在这种情况下,适用于每一位用户输入的完全相同的规则适用.
$_SESSION变量没有什么特别之处.当您从用户收到用户输入时,无论是将其存储在数据库,会话等中,都需要清理用户输入.
就像JPod建议的那样 - 在执行SQL查询时 - 总是使用准备好的查询来缓解SQL注入.