当前位置:  开发笔记 > 编程语言 > 正文

您应该在HTML表单文本字段中检查什么?

如何解决《您应该在HTML表单文本字段中检查什么?》经验,为你挑选了1个好方法。

我正在编写一个PHP脚本来从提交的表单中获取文本框数据.这些是简单的文本框,我不想接受任何HTML标记.我想我至少应该使用strip_tags()和addslashes().还要别的吗?我不介意限制输入到字母数字,我应该使用正则表达式来寻找非标准字符吗?

这是一个简单的表单,实际上(呃)通过电子邮件发送给处理它的人.(遗憾的是没有数据库.)这是简单的数据,名字和姓氏.

编辑:我也想知道我应该寻找什么.合理输入过滤的共识是什么?



1> cletus..:

使用PHP过滤器功能.

您可以使用它们来清理输入和验证输入(例如电子邮件地址).

验证有两种方法(这也适用于安全性和许多其他方面).

首先,您可以默认允许除明确禁止的内容之外的任何内容.或者你可以默认禁止除了特别允许的所有内容.

一般来说,后一种方法更安全,应该被使用,除非你有令人信服的理由不要(例如,它很难知道什么是允许的,你正在为不被认为是一个用户的用户做一个应用程序安全威胁等).

但是你必须小心使用它.对于人们的名字,像'和 - 这样的字符是完全有效的,但天真的实现可能会限制它们.您通常希望避免的是:

SQL注入:总是在任何输入上使用mysql_real_escape_string() ;

XSS(跨站点脚本):一般来说,您应该从用户输入中删除HTML标记.当然,您有时必须允许它们(例如,富文本编辑器框),但即使在这些情况下,您将拥有一个允许的标记列表,您应该删除所有其他标记(尤其是标记); 和

通常你应该删除低字符(低于ASCII 20?左右); 和

根据您的国际化要求,您可能需要删除高字符(ASCII 127以上).

一个好的默认值是:

$var = filter_var($var, FILTER_SANITIZE_STRING);

但为这种情况选择合适的过滤器.

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有