云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

文件存储_阿里云高防_折扣

小七 141 0

买云服务器_国内_手机云储存

DR:在本文中,我们将尝试为web应用程序提供一个全面的安全策略,以防止web应用程序安全中的常见威胁并减轻其影响。介绍无论您是否管理自己的基础设施,拥有强健的基础设施安全性都是非常好的。但是,如果客户机的数据同样通过web应用程序公开,则会有点多余。拥有基础设施的安全性很重要,但是对于前端和后端开发人员来说,必须考虑一些因素。在这个现代网络技术的时代,安全不应该是一个创可贴或事后考虑。它应该在规划、管理和构建Web应用程序的基础上。但这还不止于此。Web应用程序安全性是一个持续的、不断变化的环境,您不希望被遗漏。你必须不断地监控和工作,海淘客,以确保你的公司不会成为另一个安全漏洞的统计数字。无论编程语言或框架如何,从任何项目的一开始,您都可以遵循许多通用的安全实践。在本文中,我将向您介绍我在web应用程序的自顶向下(前端到后端)安全性方面的最大技巧。HTTP严格传输安全性(HSTS)标头HSTS是一个头,您可以提供在整个web应用程序中强制实施HTTPS的浏览器。现在没有借口登陆一个没有加密你的浏览器和服务器之间通讯的网站。虽然SSL证书过去是公司证明其安全性的营销工具,但如今SSL证书既免费又容易获得。像Let'sEncrypt这样的证书颁发机构得到了一些世界知名公司的支持,因为安全的互联网对每个人都更好!"现在没有理由为不安全的网络流量找借口!有了@letsencrypt这样的工具,大众可以获得免费且易于使用的SSL证书!"在推特上留言仅仅拥有一个SSL证书并不能保证web应用程序的安全。你需要告诉你的应用程序如何强制流量通过它。有些网站使用HTTP重定向来实现这一点,但是提供HSTS头也同样有效,没有这种开销。下面是一些HSTS头的示例。严格传输安全性:最长期限=630720;包含子域;预加载要查看它是否设置在带有CURL请求的站点上:卷曲-s-D-https://paypal.com|grep严格传输安全把它放进去节点.js回应:函数请求处理程序(req,res){资源集标题('Strict-Transport-Security','max age=630720;includeSubDomains;preload');}"如果一个网站通过HTTP接受连接并重定向到HTTPS,那么访问者在被重定向之前可能首先与该网站的非加密版本进行通信,例如,如果访问者类型或者只是foo.com网站. 这为中间人的进攻创造了机会。可利用该网站的原始版本,而非直接访问该网站开发者.mozilla.org在这个HSTS头的例子中,我们有三个指令。最大年龄,包括子域和预加载。最大年龄=浏览器应记住只能使用HTTPS访问站点的时间(以秒为单位)。这意味着只要max age没有过期,浏览器就会自动使用HTTPS访问站点。includeSubDomains可选如果指定了此可选参数,则此规则也将应用于站点的所有子域。预加载可选Google维护一个HSTS预加载服务。大多数现代浏览器都支持(或打算支持)此服务,如果您的站点已注册,它将永远不会通过不安全的HTTP请求与服务联系。它将假定站点在连接之前使用HTTPS。注意:如果您开始使用HSTS,并且您的站点没有使用HTTPS证书进行设置,那么您的站点将无法访问。X-XSS-保护头XSS(跨站点脚本)是所有web应用程序攻击中最常见的。当恶意脚本被注入其他受信任的web应用程序时,就会发生XSS。大多数现代浏览器都准备好抵御XSS。我们可以通过发送X-XSS-Protection报头来确保启用此功能。注意:X-XSS-Protection头在Firefox中不可用,并且已经被Content-Security-Policy头呈现为完全冗余的,我们将在下面详细说明。下面是一些X-XSS-Protection头的示例。X-XSS-保护:1;模式=块把它放进去节点.js回应:函数请求处理程序(req,res){资源集标题('X-XSS-Protection','1;mode=block');}在这个XSS头的示例中,我们有三个指令。1和模式。还有一个漏了一个,报告。1这基本上是一个布尔值,用于确定是否启用XSS筛选。将其更改为0以禁用它。如果没有可选的mode或report指令,浏览器将只清理页面,云服务器推荐,甚至删除受影响的部分。模式=块可选启用XSS筛选。如果检测到页面被清理,则不会阻止页面呈现。报表=启用XSS筛选。如果检测到跨站点脚本攻击,浏览器将清理页面并报告违规行为。X-Frame-Options标题当攻击者将透明或不透明的对象注入web应用程序时,会发生单击劫持。它们可能是其他功能之上的一个不可见层,或者设计成看起来像应用程序的一部分。类似的方法也可以用来劫持文本框,让你觉得你是在把你的个人资料或付款信息(或两者)放入你正在使用的应用程序中!点击劫持最著名的例子之一就是针对adobeflash插件设置页面。被感染的应用程序被加载到一个不可见的窗口中,诱使用户放松他们的安全设置,比如允许网络应用程序使用你的摄像头或麦克风!为了防止点击劫持,有另一个标题!服务器为浏览器提供名为X-Frame-Options的头协议。这个协议允许我们指定从中接受iframe的域。它还允许我们声明我们的web应用程序可以嵌入到哪些站点上。下面是一些X-Frame-Options标题的示例。X帧选项:SAMEORIGIN把它放进去节点.js回应:函数请求处理程序(req,res){集合标题('X-Frame-Options','SAMEORIGIN');}通过这个头,我们得到三个可能的指令。拒绝,大数据工具,允许,和SAMEORIGIN。否认这会阻碍所有的框架。允许从这允许您提供一个域列表,以允许在其中进行框架。三叶草这意味着只允许在当前域中设置帧。内容安全策略(CSP)标头CSP是一个更现代的安全层,智慧农业物联网系统,它有助于检测和减轻多种攻击,包括XSS和数据注入攻击。设计为完全向后兼容,不支持它的浏览器仍然可以在使用它的服务器上工作,方法是忽略它,并默认使用web内容的标准同源策略。它的工作原理是告诉浏览器应该从哪个url中加载站点上的内容。在快递.js服务器,您可以执行以下操作:const express=要求('express');const app=express();应用程序使用(功能(req、res、next){资源集标题("内容安全策略",云服务器是,"脚本src'self'https://analytics.google.com");return next();});应用程序使用(快速静态("目录名+'/'));应用程序侦听(进程.env.PORT||3000);但是,如果我们不想让任何外部站点在我们的web应用程序上执行脚本,我们可以简单地包括以下内容:函数请求处理程序(req,res){资源集标题("内容安全策略","脚本src'self');}注意这里的script src指令,我们已经设置为self,因此只允许来自我们自己域内的脚本。内容安全策略既优秀又强大,但必须谨慎使用。与hst一样,不正确的配置可能会导致不可预见的问题或内容丢失。这也将禁用内联JavaScript,除非它提供了不安全的内联关键字、散列(例如('sha256-OsJINy4ZgkXN5pDjr32TfT/PBETcXuD9koo2t1mYDzg='),或nonce('nonce-…'),这对安全性非常好!跨站点请求伪造(CSRF)跨站点请求伪造是指攻击者冒充授权用户并代表其发出请求的攻击,如重置密码或更新电子邮件地址。多年来,我们一直在通过检查HTTP报头(如Origin和Referer)来减轻CSRF请求。虽然这些措施奏效了,但我们对CSRF有了新的防御措施。SameSite cookie指令。SameSite相对较新,只出现了一年左右。但这仍然是个未知的问题。应用后,阻止浏览器将此cookie与跨站点请求一起发送SameSite指令示例:设置Cookie:sess=sessionid123;path=/;SameSite曲奇饼Cookie是web应用程序的一个重要特性,通常带有用户会话标识,因此服务器在每次请求时都知道您就是您。SameSite指令可能是保护会话信息的一种好方法,但是Cookie前缀是一种新的未充分利用的方法,可以确保Cookie绝对安全。某些用户代理实现支持以下cookie前缀:__安全-告诉浏览器它应该只在通过安全通道发送的请求中包含cookie。__主机-告诉浏览器,它不仅应在通过安全通道发送的请求中包含cookie,还将告诉浏览器仅使用来自安全来源的cookie,并且范围仅限于服务器传递的路径属性。如果服务器省略path属性,则使用请求URI的"directory"。它还表示域属性