我不是专业的网络开发人员,但我热爱网络开发作为业余爱好。 我是一名学生,我被要求创建一个部门活动网站。我需要为用户注册创建HTML表单。我知道XSS脚本攻击和SQL注入。但不知道他们是如何工作的。我在服务器端使用PHP和MySQL。使用JavaScript,PHP,MySQL进行html表格处理时的安全防范措施
我正在考虑:
- 不取空值。
- 确认数字字段仅由整数值组成。
- 电子邮件ID验证。等等。
这一切,我使用正则表达式检查做的 - 无论是使用JavaScript和PHP
现在我的问题是:
- 什么是我应该不允许进入的所有字符我的数据库?
- 如果我将<和>
<
和>
替代方案转换成可以吗? - 接受输入时还应该考虑什么?
我不想限制用户输入无害的符号。那么,在将值存储到数据库之前,我需要过滤哪些特定的字符集,以便我可以正确地为我的表单字段编写正则表达式检查?
我已经在谷歌搜索,但无法找到正确的答案。 :(
并会有收获在性能上如果在将数据输入到数据库之前使用htmlspecialcharacters一次,而不是在输出时使用它:) – 2010-08-13 16:56:23
@idlecool但它的设计不好。在实际使用视图之前,您不应该对数据进行调整。 – Iznogood 2010-08-13 17:04:34
@Idlecool:是的,但你不知道数据将被使用的上下文。如果您想解析发送的HTML用户并在不显示的情况下将其用于某个地方,该怎么办?那么你不得不非特殊化它。 – Borealid 2010-08-13 17:04:37