如果通过base 64编码中的查询字符串参数传递javascript代码,我需要丢弃它。我想删除参数中的所有javascript并保留字符串的其余部分。实现这一目标的最佳方法是什么。
输入:
www.xyz.com/pages/Load.aspx?new_url=/test.net/public/pages/SApps.aspx%3Flist%3DL&enc=true&title=Ij4gPHNjcmlwdD5hbGVydCgiaGVsbG8gZnJvbSBRQy4iKT wvc2NyaXB0PiA8aGVhZGVyOmNvbnRhaW50ZXIg
使用C#中的以下代码进行Un编码时的标题参数
byte[] dataByte = Convert.FromBase64String(title);
title= Encoding.UTF8.GetString(dataByte);
会导致“&gt; <script>alert("hello from QC.")</script> <header:containter
这是一个跨脚本问题。我想在这里删除所有Javascript ..
答案 0 :(得分:1)
您可以使用反xss库对查询字符串进行编码或删除脚本标记。
http://alldigitalblogs.net/2013/10/30/microsoft-security-library-antixss-library/he
以下方法从字符串中删除脚本标记,该标记可用于页面标题和html属性。
Sanitizer.GetSafeHtmlFragment(actualstring)