gpt4 book ai didi

cookies - 如何在 Flask 中获得用户对 cookie 的许可

转载 作者:行者123 更新时间:2023-12-03 16:02:32 24 4
gpt4 key购买 nike

我有一个使用 Flask 和 Flask-Login 构建的网站,所以我知道它会在某些时候生成 cookie。但我的问题比这更基本。

Flask 应用程序是否总是立即生成 cookie?

如果不是,是否有任何工具可以让我确定我的应用程序的哪个部分在什么时候生成了 cookie,例如在操作网站时是否可以监控 Chrome 开发工具?

这个问题的上下文是 GDPR 合规性,特别是在开始时尝试请求许可(没有最初创建 cookie!),然后当用户单击接受时,有一个过程意味着用户(匿名或其他)不会看到该许可再次请求横幅(直到本地浏览器缓存清除)

最佳答案

为了它的值(value),我这样做了:

  • 在任何页面 base.html 上强制设置横幅:
  •     {% if cookies_check() %}
    {# then user has already consented so no requirement for consent banner #}
    {% else %}
    {# show a cookie consent banner #}
    <div id="cookie-consent-container">
    <button id="cookie-consent">I Consent</button>
    </div>
    <script>
    var fn = function () {
    document.cookie = "cookie_consent=true";
    document.getElementById('cookie-consent-container').hidden = true;
    };
    document.getElementById('cookie-consent').onclick = fn;
    </script>
    {% endif %}
  • 将函数注入(inject) jijna2 以检查 cookie:
    @app.context_processor
    定义注入(inject)模板范围():
    注入(inject) = dict()
     def cookies_check():
    value = request.cookies.get('cookie_consent')
    return value == 'true'
    injections.update(cookies_check=cookies_check)

    return injections

  • 我还使用开发控制台通过探索 document.cookies 来检测现有 cookie。 .最初生成的唯一 cookie 似乎是 Google Analytics。

    关于cookies - 如何在 Flask 中获得用户对 cookie 的许可,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51930304/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com