首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

反向代理的攻击面 (下)

反向代理对某个响应缓存与否,它会先检查请求中的Cache-Control和Set-Cookie。...Cache-control框架非常复杂,但是有基本的功能标志,例如决定是否缓存,设置缓存时限等。...Cache-control形式有下面这些: Cache-Control: no-cache, no-store, must-revalidate Cache-Control: public, max-age...Cache-control滥用是允许反向代理储存响应。 大量的web服务器,应用服务器和框架自动且正确地设置Cache-control。...此类攻击依赖于在请求中找到未加密的值(),这将显著地影响(从安全角度)接下来的响应,但是在这里,这个响应必须由反向代理服务器缓存,同时Cache-Control应当设置为允许。

1.6K40

HTTP响应头中可以使用的各种响应字段

它有几种配置: 0:禁用XSS保护; 1:启用XSS保护; 1; mode=block:启用XSS保护,并在检查到XSS攻击时,停止渲染页面(例如IE8中,检查到攻击时,整个页面会被一个#替换); X-Robots-Tag...对于指定的网址,X-Robots-Tag 可以用作 HTTP 响应中的一个元素。...虽然path属性用于指定Cooki发送路径,但是不能被作为一种安全手段。 domain属性具有后方一致特性,出于安全考虑最好不要使用该属性,除非明确指定向多个域发送Cookie。...Cache-Control: no-cache, no-store, must-revalidate no-cache 指定服务器端不缓存数据。 no-store 指定不能在本地缓存中保存数据。...pragma 用于与HTTP/1.0进行向后兼容的响应字段,原本只被使用在客户端请求头中。与“Cache-Control: no-cache”结合使用。

2K30
您找到你想要的搜索结果了吗?
是的
没有找到

跟我一起探索 HTTP-Fetch API

它同时还为有关联性的概念,例如 CORS 和 HTTP Origin 信息,提供一种新的定义,取代它们原来那种分离的定义。 发送请求或者获取资源,请使用 fetch() 方法。...它返回一个 Promise,该 Promise 会在服务器使用响应后,兑现为该请求的 Response——即使服务器的响应是 HTTP 错误状态。你也可以传一个可选的第二个参数 init。...Headers 表示响应/请求的信息,允许你查询它们,或者针对不同的结果做不同的操作。 Request 相当于一个资源请求。...为了在当前域名内自动发送 cookie,必须提供这个选项,从 Chrome 50 开始,这个属性也可以接受 FederatedCredential 实例或是一个 PasswordCredential 实例...cache: 请求的 cache 模式:default、 no-store、 reload 、 no-cache、 force-cache 或者 only-if-cached。

18130

跟我一起探索 HTTP-HTTP缓存

Kitchen-sink 如下所示,用于尝试解决不理解当前 HTTP 缓存规范指令(如 no-store)的“旧且未更新的代理缓存”的实现。...请注意,某些 CDN 提供自己的,这些仅对该 CDN 有效(例如,Surrogate-Control)。目前,正在努力定义一个 CDN-Cache-Control 来标准化这些。...因此,下面的请求显示客户端发送带有 If-Modified-Since 请求的请求,以询问服务器自指定时间以来是否有任何的改变。...兼容过时的实现 作为忽略 no-store 的过时实现的解决方法,你可能会看到使用了诸如以下内容的 kitchen-sink Cache-Control: no-store, no-cache,...为了避免这种启发式缓存,最好显式地为所有响应提供一个默认的 Cache-Control

21551

HTTP 头部字段 Cache Control max-age = 0 和 no-cache 的区别

再观察请求的头部字段:cache-control: max-age=0 Cache-Control: max-age=0 暗示内容立即被认为是陈旧的(并且必须重新获取),这实际上与 Cache-Control...no-store: 这会指示浏览器和其他中间缓存(如 CDN)从不存储文件的任何版本。 private: 浏览器可以缓存文件,但中间缓存( for example CDN cache)不能。...Cache-Control 有两个方面。 一侧是它可以由网络服务器(又名“原始服务器”)发送的地方。 另一端是浏览器可以发送的地方(又名“用户代理”)。...server 我相信 max-age=0 只是告诉缓存(和用户代理)响应从一开始就已经过时,因此他们应该 (SHOULD) 在使用缓存副本之前重新验证响应(例如,使用 If-Not-Modified ...另一方面,使用 Cache-Control: no-cache(又名“端到端重新加载”)发送请求不会重新验证,并且服务器在响应时不得使用缓存副本。 更多Jerry的原创文章,尽在:“汪子熙”:

2.9K30

网页性能优化浅谈与实践

通常 cache-control 被认为是一种比 expires(到期) 更现代,更灵活的方法,但是两个可以同时使用。 Q: 如何进行缓存?...答: 通过标识资源或资源类型(例如图像或CSS文件),然后使用所需的缓存选项指定资源的,来启用缓存。...WeiyiGeek.Cache-Control的请求与响应 Tips : 在 Cache-Control 中各键值可以自由组合如有多个值冲突,也是有优先级的而no-store优先级最高。...Pragma的值为no-cache时,表示禁用缓存, Expires的值是一个GMT时间,表示该缓存的有效时间。 Tips : expires 只是设置内容应在将来的时间。...使用更新且更灵活的高速缓存控制expires通常用作备用。 Tips : Pragma 是旧产物,已经逐步抛弃,有些网站为了向下兼容还保留了这两个字段。

57720

【Nginx24】Nginx学习:压缩模块Gzip

gzip_disable 禁用对具有匹配任何指定正则表达式的“User-Agent”字段的请求的响应的 gzip 压缩。...gzip_proxied off | expired | no-cache | no-store | private | no_last_modified | no_etag | auth | any...该指令接受多个参数: off 禁用所有代理请求的压缩,忽略其他参数 expired 如果响应包含带有禁用缓存值的“Expires”字段,则启用压缩 no-cache 如果响应包含带有“no-cache...”参数的“Cache-Control”字段,则启用压缩 no-store 如果响应包含带有“no-store”参数的“Cache-Control”字段,则启用压缩 private 如果响应包含带有“...如果开启的话,就会添加一个上面那样的响应,告诉缓存代理服务器缓存两种版本的资源:压缩和非压缩的,这有助于避免一些公共代理不能正确地检测 Content-Encoding 的问题。

60721

使用 HTTP 缓存防止不必要的网络请求

HTTP 缓存的行为由请求和响应的组合控制。...默认情况下,某些 Web 服务器内置支持设置这些,而其他 Web 服务器则完全保留,除非您明确配置它们。...如何配置的具体细节因您使用的 Web 服务器而异,您应该查阅服务器的文档以获得最准确的详细信息。 省略 Cache-Control 响应不会禁用 HTTP 缓存!...您可能需要更多的控制权,因此请花时间配置您的响应。 在配置 Web 服务器的响应时,您应该涵盖两个重要的场景。...以下 Cache-Control 配置是一个好的开始: Cache-control: no-cache - 对于每次使用前应与服务器重新验证的资源 Cache-control:no-store:

1.8K10

前端面试查漏补缺

强缓存策略可以通过两种方式来设置,分别是 http 信息中的 Expires 属性和 Cache-Control 属性。(1)服务器通过在响应头中添加 Expires 属性,来指定资源的过期时间。...它有很多不同的值,Cache-Control可设置的字段:public:设置了该字段值的资源表示可以被任何对象(包括:发送请求的客户端、代理服务器等等)缓存。...no-cache和no-store很容易混淆:no-cache 是指先要和服务器确认是否有资源更新,在进行判断。...恶意代码窃取⽤户数据并发送到攻击者的⽹站,或者冒充⽤户的⾏为,调⽤⽬⽹站接⼝执⾏攻击者指定的操作。...恶意代码窃取⽤户数据并发送到攻击者的⽹站,或者冒充⽤户的⾏为,调⽤⽬⽹站接⼝执⾏攻击者指定的操作。

55310

Nginx结构全解析(109)

Nginx配置缓存 一.简介 proxy_cache模块用于反向代理,首先定义一个cache配置,后面使用中可以选择使用其中一个cache配置 原理: 客户端–nginx–后端程序 当客户端访问nginx...时,nginx将访问后端程序,获得信息后再返回给客户端 客户端–nginx–nginx_cache–后端程序 现在客户端访问nginx时,nginx先根据url进行hash,看本地cache文件里是否有...默认情况下,NGINX需要考虑从原始服务器得到的Cache-Control。...当在响应头部中Cache-Control被配置为Private,No-Cache,No-Store或者Set-Cookie,NGINX不进行缓存。NGINX仅仅缓存GET和HEAD客户端请求。...Cache-Control是http网页缓存,当服务器发送给浏览器的http中含有public,则浏览器呈现来自缓存的页面。private则浏览器重新发送请求到服务器。

26600

【前端词典】F5 同 Ctrl+F5 的区别你可了解

答案就是这两种方式发送的请求不一样(不同的浏览器发送的请求也有一些区别)。 F5 ?...该文件是从缓存中获取的并未进行通信,所以详细并不会显示。强缓存 fromdisk cache 或者 frommemory cache ,都不会正确的显示请求。...可以看出 chrome 和 firefox 在按下 F5 后,其内部使用的缓存机制不同。 firefox 使用的是协商缓存,而 chrome 使用的是强缓存。...Ctrl+F5 我们还是先看看在 chrome 中 Ctrl+F5 的表现。 ?...不过每个浏览器它们在实现同一个动作的时候,总是会有差异,不过在业界内 chrome 的缓存优化机制是做的最好的。这也是为什么我们在使用 chrome 开发或者是浏览网站的时候体验都不错的原因。

93330

跟我一起探索HTTP-典型的 HTTP 会话

这些 HTTP 形成一个以空行结尾的块。 最后一块是可选数据块,包含更多数据,主要被 POST 方法所使用。...由于在 HTTP 头中没有 Content-Length,数据块是空的,所以服务器可以在收到代表结束的空行后就开始处理请求。...接下来每一行都表示一个 HTTP ,为客户端提供关于所发送数据的一些信息(如类型、数据大小、使用的压缩算法、缓存指示)。...与客户端请求的头部块类似,这些 HTTP 组成一个块,并以一个空行结束。 最后一块是数据块,包含了响应的数据(如果有的话)。...: no-cache, no-store, must-revalidate, max-age=0 Content-Language: en-US Date: Thu, 06 Dec 2018 17:35

14420

postman系列(一):主界面模块解析

certificate verification:防止应用程序在发出请求时检查SSL证书的有效性; Language detection:将此设置为JSON将强制执行JSON呈现,而不管响应Content-Type...0表示无穷大-Postman将永远等待响应; Send no-cache header:发送一个no-cache可以确保请求从服务器获得最新的响应,而不是缓存数据; Send Postman Token...header:这主要用于绕过Chrome中的错误。...如果XmlHttpRequest处于挂起状态,并且使用相同的参数发送另一个请求,则Chrome会为它们返回相同的响应。发送随机令牌可避免此问题。...请求 选择请求方法,填写请求url、参数,点击【send】即可发送一次请求 2.响应 发送请求后,接收到的响应内容会在response模块展示 未 完 待 续

73020
领券