首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用javascript读取flask会话?

如何使用javascript读取flask会话?
EN

Stack Overflow用户
提问于 2013-05-01 12:41:34
回答 3查看 6.3K关注 0票数 3

我有一个安全的flask会话

代码语言:javascript
复制
session = "xC4tHoSZQVSHpVtnHUONYb/obAA=?USER_TOKEN=UycuZUp3Rndja1JnREFJQU1CZThwWVpqbkRWNHZpQW9QMlg0TzY5ZXN4MU5rTlZOaEM5RERuczBCRkRqSHFDY0YxTGZMSUM3WlNHdkxhZEpJUjZXcjh4ekZyUEQ5aUxFMEEuVGt0V3RqdTFKblVBVzV2SnRpSjd3M0NJZFdRJwpwMQou"

我使用angular.js cookies来检索值,但它没有给我任何帮助。

代码语言:javascript
复制
console.log('token - ' + $cookieStore.get('USER_TOKEN'));

如何使用Javascript访问USER_TOKEN的值?

EN

回答 3

Stack Overflow用户

发布于 2013-05-01 13:29:40

在这一点上我可能会完全反驳,但我的理解是,由于Werkzeug安全cookie模块使用的一些内部结构,您不能使用Javascript访问会话数据。我有计划尝试这个代码片段作为一种解决办法:

http://flask.pocoo.org/snippets/51/

但在我有机会尝试它之前,我不知道它是否可以做一些Flask的基本会话模块所缺少的事情。

票数 1
EN

Stack Overflow用户

发布于 2018-03-28 23:35:27

因为这个问题被问到了,Flask默认切换到了危险的客户端会话。

由于这仍然是谷歌对这个问题的最高搜索结果,而我自己也有一些问题,这里是现在如何做的:

代码语言:javascript
复制
function parse_session(){
    var cookie = Cookies('session');
    if(! cookie) return;
    // Is the content ziped ?
    var un_64 = "";
    if(cookie[0] == "."){
        var data = cookie.split('.')[1].replace(/_/g, '/').replace(/-/g, '+');
        un_b64 = atob(data);
        un_b64 = pako.inflate(un_b64, {to: 'string'});
    }else{
        var data = cookie.split('.')[0].replace(/_/g, '/').replace(/-/g, '+');
        un_b64 = atob(data);
    }
    return jQuery.parseJSON(un_b64);
}

这段代码使用了jquery、cookie.js和paco (解压)。Flask 'SESSION_COOKIE_HTTPONLY‘配置变量需要设置为False才能读取客户端上的会话。

票数 0
EN

Stack Overflow用户

发布于 2021-08-30 16:46:45

好的。用于访问由烧瓶设置的cookie会话。我们不能直接在js中使用document.cookies访问,因为它是HttpOnly。但是,您可以使用模板引擎语法访问它。

代码语言:javascript
复制
let session = {{session|tojson}};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16312831

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档