我正在尝试运行一个flask应用程序,在该应用程序中,我必须将敏感信息存储在用户的浏览器(localstorage)中,并在稍后获取它。问题是,我在服务器端有敏感信息,显然本地存储只能通过Javascript在客户端访问。
所以我的问题是,在我的情况下,最好和最安全的方法是什么?
这是一个例子,我是thinking...please告诉我,如果这是坏的,为什么,以及任何替代这种方法。
#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中..。
localStorage.setItem('sensitive_info', {{sensitive_info}});对于第一个函数,html页面将向我们的flask发送数据:
$.ajax({url: '/sensitive_info' + localStorage.getItem("sensitive_info")), success: function (data) {console.log("Success");}});发布于 2015-12-11 03:13:54
也许您可以使用flask会话在客户端安全地存储信息。
您应该在配置flask应用程序时设置SECRET_KEY。客户端上的会话中存储的信息是加密的,只有在您知道此密钥的情况下才能读取。将你的SECRET_KEY设置为一个相当长的随机数。
SECRET_KEY = os.urandom(24)然后,在获取秘密信息的例程中,可以添加:
session['secret_info'] = secret_info.https://stackoverflow.com/questions/33423885
复制相似问题