【发布时间】:2013-03-22 19:25:36
【问题描述】:
我正在尝试保护我的网站免受跨站脚本 (XSS) 的攻击,并且我正在考虑使用正则表达式来验证用户输入。
这是我的问题:我有一个危险的 HTML 标签列表...
<applet>
<body>
<embed>
<frame>
<script>
<frameset>
<html>
<iframe>
<img>
<style>
<layer>
<link>
<ilayer>
<meta>
<object>
...我想将它们包含在正则表达式中 - 这可能吗?如果没有,我应该使用什么?你有什么想法如何实现这样的东西吗?
【问题讨论】:
-
为什么这些输入很危险?字符串并不危险,你用它做的事情可能很危险。那么你如何处理输入?
-
<style TYPE="text/javascript"> alert('hello'); </style> -
只需将
&lt;替换为&lt;,标签就会失去他的权力 -
如果
userInput是字符串,您可以尝试类似userInput = userInput.replace("<","&lt;");
标签: c# asp.net regex security xss