https://dev.to/techschoolguru/a-clean-way-to-implement-database-transaction-in-golang-2ba
错误 File “/private/tmp/pycodegen/thriftpy/parser/lexer.py”, line 258, in t_IDENTIFIER ‘ at line %d’ % (t.value, t.lineno)) thriftpy.parser.exc.ThriftLexerError: Cannot use reserved language keyword: ‘from’ at line 82
chrome 新策略导致跨域后会重定向 浏览器访问:chrome://flags/#same-site-by-default-cookies 设置由默认Default改为disabled 默认情况下,谷歌将开始为从Chrome 80开始的用户实施新的cookie策略,该策略计划于2020年初发布。 本文解释了您需要了解的有关新SameSite cookie策略的所有信息,如 Adobe Target 何支持这些策略,以及如何使用 Target 来符合Google Chrome的新SameSite cookie策略。 从Chrome 80开始,Web开发人员必须明确指定哪些cookies可以跨网站工作。 这是谷歌计划为改善网络隐私和安全性而发布的多项声明中的第一个。 鉴于Facebook在隐私和安全方面一直处于热门地位,苹果等其他主要企业也迅速利用这一机会创造新的隐私和安全捍卫者身份。 苹果率先宣布今年年初通过ITP 2.1和最近ITP 2.2对其cookie政策进行了修改。在ITP 2.1中,Apple完全阻止第三方Cookie,并将在浏览器上创建的Cookie保存仅七天。 在ITP 2.2中,cookies只保存一天。 谷歌的公告远没有苹果那么咄咄逼人,但这是朝着同一个最终目标迈出的第一步。 有关Apple策略的详细信息,请参 阅Apple Intelligent Tracking Prevention(ITP)2.x 。 什么是cookies,它们是如何使用的? 在深入了解Google对其cookies策略的更改之前,我们先了解Cookie是什么以及它们的使用方式。 简而言之,Cookie是存储在Web浏览器中的小文本文件,用于记住用户属性。 Cookies很重要,因为当用户浏览Web时,它们会增强用户的体验。 例如,如果您在电子商务网站上购物并向购物车中添加内容,但不登录或在该访问中购买,则Cookie会记住您的物品并将它们保存在购物车中,供您下次访问。 或者,想象一下,如果您每次访问您喜爱的社交媒体网站时都被迫重新输入用户名和密码。 Cookies也解决了这个问题,因为它们存储有助于网站识别您身份的信息。 这些类型的Cookie称为第一方Cookie,因为它们是由您访问的网站创建和使用的。 第三方Cookie也存在。 为了更好地理解这些问题,我们来考虑以下示例: 假设某家名为“朋友”的社交媒体公司提供了一个“共享”按钮,其他网站通过该按钮允许“朋友”用户在“朋友”源上共享该网站的内容。 现在,用户在使用“共享”按钮的新闻网站上阅读一篇新闻文章,并单击它以自动发布到其“朋友”帐户。 为了实现此目的,加载新闻文章后,浏览器会 platform.friends.com 从中获取“朋友共享”按钮。 在此过程中,浏览器将包含用户登录凭据的Friends cookie附加到好友服务器的请求中。 这样,好友就可以代表用户在其源中发布新闻文章,而无需用户登录。 这一切都可以通过使用第三方Cookie实现。 在这种情况下,第三方Cookie将保存在浏览器上 platform.friends.com ,以便 platform.friends.com 代表用户在“朋友”应用程序中发布。 如果您想象一下,如何在没有第三方Cookie的情况下实现此使用案例,用户将必须执行大量手动步骤。 首先,用户必须复制指向新闻文章的链接。 其次,用户必须单独登录“朋友”应用程序。 然后,用户单击“创建帖子”按钮。 然后,用户将复制并粘贴文本字段中的链接,最后单击“发布”。 正如您所看到的,第三方Cookie可以极大地减少手动步骤,从而帮助用户体验。 更一般地说,第三方Cookie使得数据存储在用户浏览器上成为可能,而无需该用户显式访问网站。 安全问题 虽然Cookies增强了用户体验和强大的广告功能,但它们也可能引入安全漏洞,如跨站点请求伪造(CSRF)攻击。 例如,如果用户登录银行站点以支付信用卡账单并离开该站点而不注销,然后浏览到同一会话中的恶意站点,则可能发生CSRF攻击。 恶意站点可能包含向银行站点发出请求的代码,该请求在页面加载时执行。 由于用户仍然通过银行站点身份验证,因此会话Cookie可用于启动CSRF攻击,以从用户的银行帐户发起资金转移事件。 这是因为,每次访问站点时,HTTP请求中都会附加所有Cookie。 由于这些安全问题,谷歌现在正在尝试缓解这些问题。 Target如何使用cookies? 尽管如此,让我们看看如何使 Target 用cookies。 为了首先使 Target 用,您需要在站点上安 Target 装JavaScript库。 这使您能够在访问您网站的用户的浏览器上放置第一方Cookie。 当用户与您的网站交互时,您可以通过JavaScript库将用户的行为和兴趣数 Target 据传递给您。 JavaScript Target 库使用第一方Cookie提取有关用户的标识信息以映射到用户的行为和兴趣数据。 然后,这些数据将被用 Target 于推动您的个性化活动。 Target还(有时)使用第三方Cookie。 如果您拥有多个位于不同域上的网站并且希望跟踪这些网站中的用户旅程,则可以通过利用跨域跟踪来使用第三方Cookie。 通过在 Target JavaScript库中启用跨域跟踪,您的帐户将开始使用第三方Cookie。 当用户从一个域跳到另一个域时,浏览器与的后端服务器通信 Target,在此过程中,会创建第三方Cookie并将其放置在用户的浏览器上。 通过用户浏览器上的第三方Cookie, Target 可以为单个用户跨不同域提供一致的体验。 Google的新Cookie菜谱 为了避免在跨站点发送cookies以保护用户时提供保护,Google计划添加对称为SameSite的IETF标准的支持,该标准要求Web开发人员使用Set-Cookie头中的SameSite属性组件管理cookies。 可以将三个不同的值传递到 SameSite 属性:Strict、Lax 或 None。 值 描述 Strict 只有在访问最初设置的域时,才可访问具有此设置的 Cookie。换言之,Strict 会完全阻止跨站点使用 Cookie。这一选择最适合需要高安全性的应用程序,如银行。 Lax Cookies with this setting are sent only on same-site requests or top-level navigation with non-idempotent HTTP requests, like HTTP GET . 因此,如果第三方可以使用Cookie,但增加了安全优势,保护用户免受CSRF攻击的侵害,则使用此选项。 None 使用此设置的Cookie将像Cookies现在的工作方式一样工作。 请牢记以上几点,Chrome 80为用户引入了两个独立设置:“SameSite by default cookies”和“Cookies without SameSite必须是安全的。” 这些设置将在Chrome 80中默认启用。