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

对 Google 说不 - 本站已启用屏蔽 FLoC 的 HTTP 标头

什么是 FLoC FLoC 通过获取浏览器的浏览记录将用户加入 “相似” 用户的分组内,每个分组拥有对应的 FLoC ID。...为什么要抵制 FLoC FLoC 被拒绝的原因正是目前第三方 Cookie 逐渐消失的原因,我们需要的是第三方 Cookie 的消失,而不是出现一个类似 (甚至在用于追踪的情况下功能更加完善) 的替代品...对这项技术的测试过程被部署到了大量的 Google Chrome 用户身上,而 Google 并没有进行提前的公告等工作,以致于大量用户并不了解这项技术。...EFF 的这篇博文详细解释了部分细节,如果需要的可以尝试阅读一下。...uBlock 等工具进行屏蔽 CloudFlare Browser Insights:CloudFlare 提供的网页性能监测工具,不会收集用户特定的信息 可以做的事 为自己的站点添加相关的拒绝标头:

86610

通过主机标头的 XSS

Location 标头看起来并不正确......所以这是 IE 所做的: GET /login.phphp/ HTTP/1.1 Accept: text/html, application/xhtml+...图片说明了一切: image.png 继续前进,您可能会期望服务器会倾向于以 400 Bad Request 响应这样一个奇怪的 Host 标头。这通常是真的.........image.png 但幸运的是,Google 在处理 Host 标头时存在一些怪癖,可以绕过它。 怪癖是在主机头中添加端口号。它实际上没有经过验证,您可以在冒号后放置您喜欢的任何字符串。...好的,让我们继续讨论 Google CSE XSS。它看起来就像这样: 主机标头清楚地反映在响应中,无需任何编码。...所以我准备了一个简单的网页,返回以下 http 响应: HTTP/1.1 302 Found Server: Apache/2.2.22 (Debian) Location: https://www.google.com

1.6K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    通过 HTTP 标头的 XSS

    \n”; 正如我们在下面看到的,在带有 -i 标志的命令行中使用 curl,它会向我们显示响应的 HTTP 标头以及包含我们的请求标头的 JSON。...由于我们在这篇博客中使用的 WAF 提供的最后一个标头“x-sucuri-cache”,我们需要在 URL 中添加一些内容以避免缓存,因为该标头的值是“HIT”,这意味着它即将到来来自 WAF 的缓存。...因此,通过添加“lololol”,我们能够检索页面的非缓存版本,由 x-sucuri-cache 标头值“MISS”指示。现在我们将注入我们自己的标头(带有 -H 标志)以检查它是否在响应中出现。...成功,我们的虚拟标头对“Test:myValue”在响应中得到反映。让我们更改我们的“缓存避免字符串”以再发出一个请求,否则下一个请求将返回最后一个带有“lololol”字符串的缓存响应。...但仅对我们而言,因为我们通过终端发送该标头。它不会出现在浏览器、其他人甚至我们自己的请求中。 发出了另一个请求(在“日期”标头检查时间),但似乎没有什么区别。

    2.1K20

    C++ 中的随机标头系列1

    这是我参与「掘金日新计划 · 12 月更文挑战」的第1天,点击查看活动详情 此标头引入了随机数生成功能。该库允许使用生成器和分布的组合生成随机数。 生成器:生成均匀分布的数字的对象。...min:它返回成员operator()返回的最小值,对于random_device,该值始终为零。 max:它返回成员operator() 返回的最大值。...min:它返回 operator() 给出的最小值。 max:它返回operator() 给出的最大值。 operator() :它返回一个新的随机数。...operator(): 它返回一个新的随机数。 max: 它返回operator()给出的最大值。 min: 它返回 operator() 给出的最小值。...引擎的转换算法在内部表中选取一个值(由函数返回),并将其替换为从其基础引擎获得的新值。 max: 它返回operator()给出的最大值。 最小值: 它返回 operator() 给出的最小值。

    1.3K10

    nc命令卡住不返回的分析

    具体通过如下命令获取zk的状态: echo stat | nc 192.168.73.77 2181 出现问题时,发现nc命令一直没有返回,导致无法执行后续的步骤(程序压根没启动)。...不信邪,再多试几次,nc命令均正确返回退出,并且能获取到对应的状态信息,看来是个偶现问题。 既然命令当前执行都正常,难道是执行nc命令的那个时刻,zk出现了异常导致没有响应?...s.accept() msg=c.recv(1024) print(msg) c.sendall('hncscwc') time.sleep(1000) c.close() 然后再执行命令,可以发现nc未返回...通过增加参数“+vvvvvv”查看nc命令执行过程中的输出,对比正常情况和异常情况,可以清楚的看到这一点: 正常退出的情况: 异常不退出的情况: 清楚了问题的所有环节,只剩下为什么nc命令没有收到...简单man了一把nc,发现有一个"-i"参数,指的是连接的最大读写空闲时间。加上参数,再来进行测试,发现连接虽然处于FIN_WAIT2状态,但等待指定时长后,nc命令返回退出了。

    2.7K30

    使用结构化的标头字段改善HTTP

    ● 大多数Web开发人员都熟悉HTTP标头;如Content-Length、Cache-Control和Cookie之类。...因为标头需要由许多不同的客户端和服务器,代理服务和CDN处理(通常在消息的生存期内不止一次),所以大家希望它们易于处理,高效解析并且定义明确句法。...例如,他们可以说“这是一个字符串列表”,人们将知道如何使用一个现成的库来明确地解析和生成标头,而不是编写特定于头的代码。...它使用HTTP/2(和/3)SETTINGS机制来协商对替代序列化的支持,并利用结构化字段与许多现有标题字段的语法的相似性将其返回到一组已经广泛使用的标题字段上,如果它们无法解析,则返回到不透明的文本。...如果字段的语法与结构化字段兼容-至少在大多数情况下-它可以作为一个发送,当失败时返回到明文标题。 没有兼容语法的标题需要另一种方法。

    65510

    【Bug解决思路】Tomcat返回不安全的响应头

    图片背景概述公司安全测试要求接口的请求方法只能是GET, POST,并且响应头也只能为GET, POST.问题描述在了解到这个需求后,我在过滤器对所有进入服务的请求统一设置响应头:@WebFilter(...HEAD,POST,PUT,DELETE,OPTIONS”它们的响应头都成功返回了 GET、POST。...贴一张 OPTIONS 请求的截图,他的Allow-Methos成功的返回了 GET,POST.图片到这你是不是觉得问题就已经解决了?...并没有,事情没这么简单,测试很快就让我打脸了,请看下图,当 uri 改为 * 时,Allow 的返回值让我不敢相信自己的眼睛。...不,其实我还想说一点东西 。方案的设计目的是实现业务目标,不是为了设计而设计引入各种高大上的中间件,技术自嗨。虽然引入 Nginx 可以很方便的解决问题,但是它也会带来新的安全风险。

    72120

    Go: 命名返回值的使用, return携带还是不携带?

    在Go语言中,命名返回值提供了一种声明函数返回值的方式,它可以增加代码的可读性和灵活性。但是,在使用命名返回值时,return语句是否应该明确携带返回值,是一个常见的困惑。...带命名返回值的return 如果在函数中使用了命名返回值,你可以在return语句中明确指定返回的值,如下所示: func sum(a, b int) (result int) { result =...不带命名返回值的return 或者,你可以省略return语句中的返回值,让Go自动返回命名返回值的当前值: func sum(a, b int) (result int) { result = a...建议做法 对于简单的函数,可以考虑省略return语句中的返回值,使代码更精简。 对于复杂的函数或重要的库,可能更适合明确指定返回值,以增加代码的可读性和可维护性。...总结 命名返回值在Go语言中是一个强大的工具,但如何使用它没有固定的规则。选择是否在return语句中携带返回值取决于多个因素,包括代码的复杂性、团队的编程风格以及可读性和可维护性的需求。

    48930

    Python中类型最佳判断方法

    Python在定义变量的时候不用指明具体的的类型,解释器会在运行的时候会自动检查变量的类型,并根据需要进行隐式的类型转化,因为Python是动态语言,所以一般情况下是不推荐进行类型转化的。...(例如,u ' spam) types.XRangeType # xrange()返回的范围对象的类型 官网介绍:https://docs.python.org/2/library...(这里,“内置”的意思是“用C写”。) types.CodeType # 通过compile()返回的代码对象类型。...如上所示说明i和n的类型是不一样的,而实际上UserInt是继承int的,所以这个判断是存在问题的,当我们对Python内建类型进行扩展的时候,type返回的结果就不够准确了。...type比较的结果a和b的类型是一样的,结果明显是不准确的。这种古典类的实例,type返回的结果都是一样的,而这样的结果不是我们想要的。

    88120

    百变星君之Python变量

    # _*_ coding:utf-8 _*_name = "nock" 如上代码中声明了一个变量,变量名称为name,变量name的值为'nock'....' Phone = ’13681042939‘ 解释:当Python解释器解析到 Name = 'nock'的时候会在内存中开辟一个空间存放'nock'字符串,然后Name变量指向存储'nock'字符串的内存地址...总结: 其实变量名字我们可以想象为一个大厦里面各个房间的门牌标,有个门上可能贴着两个门牌标签,但是当里面的内容变了,它才代表是另外一个另外一个空间了。如果你的内容没有变化,你还是在固定的空间中。...: 创建一个变量name,指向'nock'的内存地址; 如果'nock'这个值之前没有在内存中创建,那么现在创建它,并让这个内存地址的引用数+1,此时等于1; 然后我们对变量name进行重新赋值,让其执行...'lucky'的内存地址; 那么此时'nock'值的引用数现在就变成0了,当Python一旦检测到某个内存地址的引用数为0时,就会把这个内存地址给删掉,从而释放内存空间。

    44020

    如何判断Python字典中是否存在某个key

    在Python中有各种数据结构,而字典是我们生产中经常会用到的数据结构,这里记录一下如果判断某个key是否存在于字典中的二种方法。...方法一:字典自带属性has_key Python2下: nock:work nock$ python2.7 Python 2.7.10 (default, Jul 14 2015, 19:46:27)...方法二: in关键字 一般我们刚开始学习认识Python的时候我们都会先字典列表对象的形式把字典所有键返回,再判断该key是否存在于键列表中: nock:work nock$ python3 Python...break ... key in ok 其实这不是最好的方法,那还有更好的方法?...总结 如上实例可知用in关键字是最nice的方法,同时在字典数据量较大的情况下in也是最快的方法,我这里就不实验了,有兴趣的同学可以实践一下。

    20.4K10

    【Rust问答】关于函数不写return时候返回值的疑惑

    | | -- help: consider using a semicolon here | |_____| | expected this to be `()` 看的出来编译器认为这个函数返回的是...unit (),而if里面的0却是integer,所以报错了 我知道下面2种做法可以编译通过: 把1放进else里面 在0前面显式的加上return 现在问题来了: 这个编译不通过的函数,我标注了返回类型为...i32,而且函数体内怎么看返回的也不是()啊,为什么编译器会认为返回的是()类型呢?...if n > 0 { 0 } 和 1 因为没有else,所以它不认为if 代码块是表达式的一部份 所以做为函数返回值的是 1 这个表达式 第一个语句中的代码块的最后一行是表达式,但其它本身又不是条件赋值语句...,所以编译器认为代码块应该返回的是(),也就是unit类型 c5soft 2019-12-18 21:26 if 作为rust的表达式,要求 if 和 else 两部分类型相同,如果缺少 else 部分

    2.8K20

    Python数据类型之字符串

    如果不指定第一个数,Python就从序列首开始。如果没有指定第二个数,则Python会停止在序列尾。注意,返回的序列从开始位置开始 ,刚好在结束位置之前结束。...ValueError: substring not found的提示,而rfind和find则找不到的时候都会返回-1。...""" >>> msg.splitlines() ['my', 'name', 'is', 'nock'] rsplit : 是从右开始切片,当不指定从哪个分隔符数开始,默认和split没有区别,但是指定了从第几个分隔符之后...' >>> name.capitalize() 'Nock' islower : 判断字符串是否包含大写字母,返回是布尔值 def islower(self): # real signature unknown..." >>> name.swapcase() 'mY nAME iS nOCK' 判断 isalnum : 判断这个字符串是否单单由阿拉伯字母和数字组成,返回布尔值 def isalnum(self):

    58120
    领券