表格数据最佳实践

时间:2014-07-20 13:30:52

标签: javascript php mysql

好的,我知道一体化数据清理策略的答案不会这样做。我的问题是:是否有任何标准措施可以立即采取措施保护表单数据?除了做我自己的表单验证(即电子邮件,电话等)。

截至目前,这与WebApp(HTML,PHP和MYSQL)有关,但我不会说这应该仅限于我想要了解的最佳做法。从我所读到的,唯一应该做的事情就是在数据清理步骤中,在对该数据采取特定操作之前(即在存储到我的数据库之前使用mysql_real_escape_string)。

编辑:

除了SQL注入之外,还有哪些可能因未清除数据而发生的恶意攻击?

2 个答案:

答案 0 :(得分:1)

Magic Quotes向我们展示了各种卫生设施“不管怎样”都是不好的做法。我们在运行时需要时验证数据,因为不同的使用需要不同的验证。

出于验证目的,现在有许多库可用,例如GUMPZend Forms(可在此处找到更多库:Easiest Form validation library for PHP?)。

P.S。:你在谈论mysql_real_escape_string。确保您使用的是PDOmysqli,而不是现在的已弃用 Original MySQL API。有关更多信息,请阅读:Why shouldn't I use mysql_* functions in PHP?

答案 1 :(得分:1)

首先,我假设你使用 MySQLi PDO 也很好)和不是弃用的MySQL扩展。如果没有,那么你一定要切换到这两个中的一个。

在将信息插入数据库之前,请务必使用预备语句参数化查询请参见此处: How can I prevent SQL injection in PHP?

对于在插入数据库之前验证电子邮件,IP和其他类型的数据,请考虑使用filter_var()(请参见此处: http://php.net/manual/en/function.filter-var.php

从数据库中提取信息时,请确保使用 htmlspecialchars() strip_tags()

示例: htmlspecialchars(strip_tags($message_body))