当前位置: 首页 > 面试题库 >

PHP setcookie“ SameSite = Strict”?

萧辰沛
2023-03-14
问题内容

我最近在属性“ Same Site”上阅读了“ RFC 6265”,我看了一些有关2016年4月的文章,Chrome 51和Opera 39已经实现了“
same-site”属性…

我想知道当前的PHP是否支持使用此属性创建cookie?


问题答案:

[ 重要更新: 正如@caw在下面指出的那样,此hack 将在PHP 7.3中崩溃。现在就停止使用它,以保护自己免受不愉快的意外!或至少将其包装在PHP版本检查中,如[
if (PHP_VERSION_ID < 70300) { ... } else { ... }]。

似乎您可以滥用PHP的“ setcookie”函数的“ path”或“ domain”参数来潜入SameSite属性,因为PHP不能转义分号:

setcookie('samesite-test', '1', 0, '/; samesite=strict');

然后,PHP发送以下HTTP标头:

Set-Cookie:samesite-test = 1; 路径= /; samesite =严格

几分钟前我才发现了这一点,所以请您自己进行测试!我正在使用PHP 7.1.11。



 类似资料:
  • 问题内容: 我在Cookie中设置SameSite属性时遇到问题。我想设置此属性,但既不提供也不提供处理它的方法。因此,我有一个想法来创建一个响应,以捕获“ Set-Cookie”标头并添加“ SameSite = Strict”属性。 它可以正常工作,但是当我在一个响应中有多个“ Set- Cookie”标头时出现问题。并未提供删除或覆盖多个同名牧师的方法(在它们上面进行迭代并使用不起作用,因为

  • 问题内容: 您是否知道任何允许为cookie设置自定义标志的Java cookie实现?似乎只有一组严格限制的标志可以添加。 问题答案: 我不是JEE专家,但是我认为由于cookie属性是一项新发明,因此您不能期望它会出现在Java EE 7接口或实现中。本类缺少通用性的制定者,因为它似乎。但不要将Cookie添加到您的via 您只需通过设置相应的HTTP标头字段即可 更新: 感谢 @mwyrzy

  • 完整的请求链是: > : 或(似乎无关紧要): ,因为此时站点是相同的,并且浏览器显示cookie 对于用户上次加载的页面不在上的一般情况,我赞赏将呈现给的CSRF潜力,但我只是将其从设置,现在我是重定向到的人。 当然,我可以设置,但是如果有人可以找到某种方法通过错误地创建URL来触发他们从我的站点选择的重定向,那么就不会有点击劫持的可能吗?

  • 我有一个关于https://dskl.net/xsrf/setcookies.php的页面,它设置了一个带有以下标题的cookie: 如果我进入此页面,将显示cookie的值:https://dskl.net/xsrf/getcookies.php. 但是如果我从另一个域上的表单向该页面发出post请求,cookie也会包含在请求中:https://manabase.com/xsrf/ 没有Sam

  • 在Chrome警告中,它说: 如果cookie应在跨站点请求中发送,请指定SameSite=None和Secure。这允许第三方使用。 如何使用正确执行此操作?

  • 问题内容: 是否有一个适用于Java的 严格的严格 日期解析器?我可以访问Joda-Time,但尚未看到此选项。我发现了“ Java是否有一个好的日期解析器”的问题,尽管与此相关,但恰恰相反。尽管这个问题要求宽大,更加模糊的逻辑并且易于出现人为错误解析器,但我想要一个严格的解析器。例如,对于JodaTime(据我所知)和simpleDateFormat,如果格式为“ MM / dd / yyyy”