【发布时间】:2013-12-25 18:49:48
【问题描述】:
我正在构建一个测验网站,我在其中存储一些变量
(回答所用的时间,用户等选择了哪个答案选项等)在每个问题之后的$_SESSIONs 中 - 我仅在用户完成测验后将这些统计信息放入数据库中。
我已经实现了一些if 来检查这些$_SESSION 变量是否是数字(is_numeric())。我还验证了长度(strlen())等。
- 但是有这样做的理由吗?
- 或者在存储它们之前只需
real_escape_string()就足够了 在 MySQL 中? - 另外,如果有很多用户,那不会造成很大的负担 服务器?
【问题讨论】:
-
如果您对防止 SQL 注入感兴趣,您应该使用带有参数化语句的 PDO 或 mysqli。这样,无论您插入什么,它都不会被评估为 MySQL 代码。
-
情况是我不只是在谈论 SQL 注入。难道没有其他人可以使用用户传递的变量来攻击我的网站吗?
-
@joe007 是的,就像 XSS。