【发布时间】:2019-04-19 10:29:58
【问题描述】:
我编写了一个 Flask 应用程序,其中用户在 5 个不同的页面中回答 5 个问题,并且他/她的答案使用 sqlite3 发送到database.db。
在 Ubuntu 上部署应用程序后,我收到一条错误消息,指出数据库是只读的。所以我将权限更改为chmod 777。然后问题就解决了。
但是我已经阅读了很多关于在任何情况下都不要使用chmod 777 的建议。 (喜欢this one)
那我该怎么办? 如何安全地将用户接收到的数据写入数据库?
#a sample part of my code:
@app.route('/g2', methods=['GET', 'POST'])
def k2():
z1= request.form['z1']
z2= request.form['z2']
con = sql.connect("/var/www/FlaskApp/database.db")
cur = con.cursor()
cur.execute("UPDATE hoc SET z2=? WHERE id=?", (z2, z1))
con.commit()
con.close()
【问题讨论】:
-
您应该使用 ORM 或以某种方式在内存中进行更改并立即将它们提交到实际数据库
标签: python database flask sqlite