我想请教有经验的人一些建议。 我必须过滤用户的输入,他们可能会尝试输入类似
的值<script type="text/javascript">alert(12);</script>
在文本框上。我想问一下,对于这个问题,您有什么好的做法建议吗?
最近我们在我们的一个共享点项目中遇到了一个问题。我们试图在文本框上输入一个脚本,然后页面崩溃了……我的意思是,我认为捕获它很容易,因为我们知道它是用户可能的输入之一,但是我们不知道的事情呢知道?除了捕获脚本之外,可能还有一些我们没有考虑过的其他情况。有人可以就此事提出好的做法吗?
提前致谢! :)
最佳答案
Microsoft 实际上制作了一个反跨站点脚本库,但当我查看它时,它只不过是 .NET 框架中各种编码函数的包装器。 AntiXSS library
您应该考虑的两个主要威胁是:
- 脚本注入(inject)
- HTML 标签注入(inject)
在将用户输入重新呈现在页面上之前,可以通过对用户输入进行 HTML 编码来(在一定程度上)缓解这两种情况。
OWASP 项目中还有一个名为 AntiSamy 的库,旨在阻止网络应用程序中的恶意输入。
关于c# - 过滤用户输入的实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4814914/