过期是 cookie 的一个属性。在后续请求中,属性不会被发送回服务器。行为良好的浏览器不会发送过期的 cookie,但恶意浏览器可能会忽略过期并发送 cookie。服务器如何判断浏览器是否真正遵守它最初作为 cookie 属性发送的过期日期?
是否像将过期日期存储在 cookie 中一样简单?然后,如果 cookie 被签名,浏览器可以信任该值并根据自己的时钟检查它。
过期是 cookie 的一个属性。在后续请求中,属性不会被发送回服务器。行为良好的浏览器不会发送过期的 cookie,但恶意浏览器可能会忽略过期并发送 cookie。服务器如何判断浏览器是否真正遵守它最初作为 cookie 属性发送的过期日期?
是否像将过期日期存储在 cookie 中一样简单?然后,如果 cookie 被签名,浏览器可以信任该值并根据自己的时钟检查它。
绝不。相信。用户。输入。
通过 USER,考虑您的应用程序外部的任何内容。
https://www.owasp.org/index.php/Don't_trust_user_input
对于您的特定情况,是的,您可以在 cookie 的内容中添加时间戳并签署该内容,然后在服务器端检查它。
例如使用https://secure.php.net/manual/en/function.openssl-sign.php