如果输入不会存储在任何地方,是否有任何理由清理用户输入?

时间:2010-10-03 17:13:35

标签: php

我可以理解为什么需要清理存储在数据库中的用户输入以防止sql注入等。但对于一个独立的脚本,它只是根据原始输入将临时数据返回给用户。在这种情况下是否需要清理用户的原始输入?

4 个答案:

答案 0 :(得分:4)

不要过滤输入;过滤输出。请参阅我的回答here

答案 1 :(得分:2)

查找XSS Injection。切勿向用户提供尚未清理的文本。唯一“安全不消毒”的字符串就是你丢弃的字符串 - 除非你小心,否则你用字符串做的任何事情都会有一个漏洞。

答案 2 :(得分:0)

没有人能回答这样的问题 没人知道你的具体情况。

可能存在不需要消毒的情况,并且可能存在需要消毒的情况。取决于数据的处理方式。

一位开发人员在他的网站上有一个有趣的服务,就像你在这里描述的那样。一切都很好。时间过去了,他决定在他的网站上添加博客和授权。基于通过这项旧服务的轻微XSS攻击,他的网站立即遭到黑客入侵。

答案 3 :(得分:0)

我会这么说,因为XSS攻击只需要有人可以访问屏幕上的内容。

例如,一个文本字段然后只显示您在屏幕上输入的内容将使您对XSS攻击开放。

我最近遇到了你想看的HTML净化器php库。

http://htmlpurifier.org/