首页 安全防御正文

防止xss攻击的正则表达式(xss攻击手段)

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;}

}

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;}

}

如何实现php的安全更大化?怎样避免sql注入漏洞和xss跨站脚本攻击漏洞

使用php安全模式

服务器要做好管理,账号权限是否合理。

假定所有用户的输入都是“恶意”的,防止XSS攻击,譬如:对用户的输入输出做好必要的过滤

防止CSRF,表单设置隐藏域,post一个随机字符串到后台,可以有效防止跨站请求伪造。

文件上传,检查是否做好效验,要注意上传文件存储目录权限。

防御SQL注入。 

避免SQL注入漏洞

1.使用预编译语句

2.使用安全的存储过程

3.检查输入数据的数据类型

4.从数据库自身的角度考虑,应该使用最小权限原则,不可使用root或dbowner的身份连接数据库。若多个应用使用同一个数据库,也应该为数据库分配不同的账户。web应用使用的数据库账户,不应该有创建自定义函数,操作本地文件的权限。

避免XSS跨站脚本攻击

1.假定所有用户输入都是“邪恶”的

2.考虑周全的正则表达式

3.为cookie设置HttpOnly,防止cookie劫持

4.外部js不一定可靠

5.出去不必要的HTML注释

6. 针对非法的HTML代码包括单双引号等,使用htmlspecialchars()函数。

Cookie如何防范XSS攻击?

XSS(跨站脚本攻击)是指攻击者在返回的HTML中嵌入javascript脚本,为了减轻这些攻击,需要在HTTP头部配上set-cookie:

httponly此属性可以防止XSS,它会禁止javascript脚本来访问cookie。

secure 属性告诉浏览器仅在请求为https的时候发送cookie。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。