首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将敏感信息从Python Flask传递到HTML5 LocalStorage

将敏感信息从Python Flask传递到HTML5 LocalStorage
EN

Stack Overflow用户
提问于 2015-10-30 04:23:30
回答 1查看 1.5K关注 0票数 0

我正在尝试运行一个flask应用程序,在该应用程序中,我必须将敏感信息存储在用户的浏览器(localstorage)中,并在稍后获取它。问题是,我在服务器端有敏感信息,显然本地存储只能通过Javascript在客户端访问。

所以我的问题是,在我的情况下,最好和最安全的方法是什么?

这是一个例子,我是thinking...please告诉我,如果这是坏的,为什么,以及任何替代这种方法。

代码语言:javascript
复制
#This function gets the sensitive info from an AJAX request via the HTML page
@app.route("/sensitive_info/<string:sensitive_info>", methods=["POST"])
def save_sensitive_info(sensitive_info):
    db.save(sensitive_info)
    return redirect(url_for('inject_sensitive_info_to_local_storage'))

# This function creates an HTML page that injects the sensitive info using a javascript function with a jinja variable
@app.route("/sensitive_info")
def inject_sensitive_info_to_local_storage():
    sensitive_info = [RANDOM_SENSITIVE_INFORMATION]
    return render_template("index.html", sensitive_info=sensitive_info)

因此,正如评论所描述的那样,第二个函数将敏感信息放入lcoal存储中:

在html中..。

代码语言:javascript
复制
localStorage.setItem('sensitive_info', {{sensitive_info}});

对于第一个函数,html页面将向我们的flask发送数据:

代码语言:javascript
复制
$.ajax({url: '/sensitive_info' + localStorage.getItem("sensitive_info")), success: function (data) {console.log("Success");}});
EN

回答 1

Stack Overflow用户

发布于 2015-12-11 03:13:54

也许您可以使用flask会话在客户端安全地存储信息。

您应该在配置flask应用程序时设置SECRET_KEY。客户端上的会话中存储的信息是加密的,只有在您知道此密钥的情况下才能读取。将你的SECRET_KEY设置为一个相当长的随机数。

代码语言:javascript
复制
SECRET_KEY = os.urandom(24)

然后,在获取秘密信息的例程中,可以添加:

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

https://stackoverflow.com/questions/33423885

复制
相关文章

相似问题

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