我有一个与安全相关的问题。我的 Web 应用程序允许用户输入 URL。URL 立即存储在数据库中(此时没有清理。这是错误的吗?)。我正在使用 Linq to SQL,所以它已经参数化了。在向用户显示超链接时,我使用的是转发器。我是否需要对超链接文本以及工具提示和 href 属性进行编码?还是我只需要对文本(显示的)进行编码。另外,我假设 URL 编码是我需要的,但我还必须使用 HTML 编码吗?
我尝试Server.UrlEncode
了文本所在的所有三个属性,<script> alert("hello") </script>
它似乎弄乱了 href 和文本。我猜这意味着它没有完全安全?
编辑 - 我应该添加,如果我在输出上编码,我怎样才能让它显示一个“/”而不是“%2”?谢谢