0

这是代码。用户输入的值存储在 POST_USERNAME 和 POST_PASSWORD 中,我想将其与 db 中的值进行比较并打印出来。

@app.route('/')
def log():
    if not session.get('logged_in'):
        return render_template('login.html')
    else:
        return "Hello "

@app.route('/login', methods=['POST'])
def do_admin_login():
    POST_USERNAME = str(request.form['username'])
    POST_PASSWORD = str(request.form['password'])
    result=client.query("SELECT * FROM signup WHERE username = 
'POST_USERNAME'")
    return  '{}'.format(result)
4

1 回答 1

1

我认为influxdb存储技术不是一个好的选择credentials。它是一个time-series数据库,旨在存储measurements类似温度的点数据。基本上值得作为统计数据显示的东西。您不应将measurement其视为常规关系数据库table

据我所知,Influxdb目前还没有能力maskfieldtag价值观。password因此,从安全的角度来看,将用户存储为纯文本是不明智的。

但是,这并不意味着您不能将身份验证外包给influxdb. 也就是说,您不会将凭据存储到 a 中measurement,而是创建influxdb用户帐户来代表您的应用程序的用户帐户。

然后对您的用户进行身份验证,而不是执行常规SELECT语句来进行通常的credential验证,您将HTTP调用influx服务器进行身份验证。

但是,除非您正在寻找快速获胜。我不建议您走这条路,因为您的auth功能基本上会受influxdb.

请参阅下面的链接以了解如何在 中管理身份验证influx

参考:

Influxdb 身份验证: https ://docs.influxdata.com/influxdb/v1.3/query_language/authentication_and_authorization/

于 2017-08-10T13:09:46.380 回答