PDO是否准备了足够的语句
这个问题在这里已经有了答案:
实际上这里有三个问题,每个都需要不同的方法。
数据验证涉及验证提供了所有必需的表单参数,它们是可接受的长度并且具有正确的内容类型。 如果您没有可信任的ORM,则需要自己完成此操作。
数据转义涉及以避免SQL注入的方式将数据插入到数据库中。 准备好的陈述是防止这种情况的一个很好的工具。
数据呈现涉及避免XSS问题,您显示的内容可能会被误解为脚本或HTML。 您至少需要在这里使用htmlspecialchars
。
请注意,如果您使用开发框架,所有这三个问题都可以解决。 有一个很好的看法是Laravel,因为文档是全面的,并且让你了解这一切是如何融合在一起的,但还有其他许多选择。
你可以直接将数据传递到你的数据库中,但是如果用户提交的数据是闪避的,或者它可能是无效的呢? 他们可能会提交一封信,而不是一个号码,或者该电子邮件地址可能包含无效字符。
您可以使用PHP的内置过滤器来增强服务器端的验证。
您可以使用这些来清理和验证数据。
验证过滤器检查用户提供的数据是否有效。 例如,电子邮件是否有效? 这个数字实际上是一个数字吗? 文本是否匹配某个正则表达式?
消毒过滤器基本上删除给定数据类型的无效字符。 即删除不安全的字符,删除无效的电子邮件/ URL字符,删除非数字字符。
有一堆帮助器方法可以清理和验证单个值,数组和关联数组,以及_GET
和_POST
数组。
Nettuts在这里和这里有关于这个问题的一些很好的教程。
链接地址: http://www.djcxy.com/p/93755.html