本文目录一览:
asp网站如何防止XSS攻击
asp中防止xss攻击的方法如下:
确保所有输出内容都经过 HTML 编码。
禁止用户提供的文本进入任何 HTML 元素属性字符串。
根据 msdn.microsoft.com/library/3yekbd5b 中的概述,检查 Request.Browser,以阻止应用程序使用 Internet Explorer 6。
了解控件的行为以及其输出是否经过 HTML 编码。如果未经过 HTML 编码,则对进入控件的数据进行编码。
使用 Microsoft 防跨站点脚本库 (AntiXSS) 并将其设置为您的默认 HTML 编码器。
在将 HTML 数据保存到数据库之前,使用 AntiXSS Sanitizer 对象(该库是一个单独的下载文件,将在下文中介绍)调用 GetSafeHtml 或 GetSafeHtmlFragment;不要在保存数据之前对数据进行编码。
对于 Web 窗体,不要在网页中设置 EnableRequestValidation=false。遗憾的是,Web 上的大多数用户组文章都建议在出现错误时禁用该设置。该设置的存在是有原因的,例如,如果向服务器发送回“X”之类的字符组合,该设置将阻止请求。如果您的控件将 HTML 发送回服务器并收到图 5 所示的错误,那么理想情况下,您应该在将数据发布到服务器之前对数据进行编码。这是 WYSIWYG 控件的常见情形,现今的大多数版本都会在将其 HTML 数据发布回服务器之前对该数据进行正确编码。
对于 ASP.NET MVC 3 应用程序,当您需要将 HTML 发布回模型时,不要使用 ValidateInput(false) 来关闭请求验证。只需向模型属性中添加 [AllowHtml] 即可,如下所示:
public class BlogEntry
{
public int UserId {get;set;}
[AllowHtml]
public string BlogText {get;set;}
}
火狐浏览器的插件 xss me 和 SQL inject ME 检测报告怎么看
尊敬的用户,您好!很高兴为您答疑。
据您提供的资料显示,您网站的SQL inject me结果正常;而在xss me的检测结果中,存在username和翻页控件没有针对个别特殊字符进行重编码的处理,有可能会成为注入漏洞。
希望我的回答对您有所帮助,如有疑问,欢迎继续咨询我们。
当前浏览器不支持控件怎么解决
浏览器不支持cookie的原因之一就是浏览器设置的问题。用户的浏览器设置了比较高的保护级别,当使用的网页不是比较有名的名站的话,就会被浏览器误认为是钓鱼网站或者是携带了木马的网站。这样的高安全级别的设置虽然能很好的保护系统不受损害,但是在使用浏览器时却十分的不方便。
解决这种类型的不支持cookie的方法是给浏览器重新设置适当的安全级别。小编以ie为例来介绍设置的具体步骤:在浏览器的菜单栏找到internet选项,在打开的界面中选择安全选项。这安全选项中找到自定义点击进入,在打开的界面的列表中把脚本、活动脚本和xss筛选器都选择为启动,在将最下面的安全级别设置为中。之后点击确定。设置完毕后我们再来打开浏览器,随便找一个输入用户名和密码的网站进行测试,会发现cookie不支持的问题解决了。
另一个导致不支持浏览器cookie的原因就是浏览器文件损坏或者是系统文件损坏。不管哪个浏览器都是基于ie浏览器内核的,所以如果我们将浏览器的安全级别调整之后,问题依然存在的话就需要检查浏览器是否损坏。我们先将出现问题的浏览器卸载之后重新安装,问题依旧的话,就一定是系统文件中的ie浏览器部分发生的故障。针对这种问题我们可以通过恢复系统或者重装系统的方式进行解决。
除了上述两种故障原因之外,发生浏览器不支持cookie的原因还可能是由于某一个网站本身的问题。例如,一些网站服务器或者网页本身脚本的问题。我们在发现网页提示浏览器不支持cookie之后,先打开其它网页进行一个测试。如果浏览器在浏览其它网页时是正常的,那么问题就出在个别的网站上面,这种问题只有网站工作人员自己才能解决。
asp项目中如何防止xss攻击
asp中防止xss攻击的方法如下:
确保所有输出内容都经过 HTML 编码。
禁止用户提供的文本进入任何 HTML 元素属性字符串。
根据 msdn.microsoft.com/library/3yekbd5b 中的概述,检查 Request.Browser,以阻止应用程序使用 Internet Explorer 6。
了解控件的行为以及其输出是否经过 HTML 编码。如果未经过 HTML 编码,则对进入控件的数据进行编码。
使用 Microsoft 防跨站点脚本库 (AntiXSS) 并将其设置为您的默认 HTML 编码器。
在将 HTML 数据保存到数据库之前,使用 AntiXSS Sanitizer 对象(该库是一个单独的下载文件,将在下文中介绍)调用 GetSafeHtml 或 GetSafeHtmlFragment;不要在保存数据之前对数据进行编码。
对于 Web 窗体,不要在网页中设置 EnableRequestValidation=false。遗憾的是,Web 上的大多数用户组文章都建议在出现错误时禁用该设置。该设置的存在是有原因的,例如,如果向服务器发送回“X”之类的字符组合,该设置将阻止请求。如果您的控件将 HTML 发送回服务器并收到图 5 所示的错误,那么理想情况下,您应该在将数据发布到服务器之前对数据进行编码。这是 WYSIWYG 控件的常见情形,现今的大多数版本都会在将其 HTML 数据发布回服务器之前对该数据进行正确编码。
对于 ASP.NET MVC 3 应用程序,当您需要将 HTML 发布回模型时,不要使用 ValidateInput(false) 来关闭请求验证。只需向模型属性中添加 [AllowHtml] 即可,如下所示:
public class BlogEntry
{
public int UserId {get;set;}
[AllowHtml]
public string BlogText {get;set;}
}