【发布时间】:2017-10-05 14:13:45
【问题描述】:
这是我第一个使用 Flask 和 Python 的应用程序。
我正在使用以下 URL 格式从 Arduino 向 Pythonanywhere 服务器实例上运行的烧瓶应用程序发送 POST 请求。
有效的 POST 请求:3 个 URL 参数 http://voyagers.pythonanywhere.com/senddata?node=1234&lat=18.5580&lng=73.8075
我需要通过以某种形式验证 URL 来阻止请求进一步处理。我希望这可以保护我的应用免受未经身份验证的 POST 请求的影响。
这样说:任何超过 3 个 URL 参数 http://voyagers.pythonanywhere.com/senddata?node=324&lat=18.5580&lng=73.8075&a=c&a=d
如何在 Flask 中实现这一点?
另外建议,如果有任何更好的方法可以用来保护应用程序免受未经授权的请求。
【问题讨论】:
-
您认为发出请求的授权与该请求中的查询参数数量之间有什么联系?
-
@jonrsharpe 授权在这里我的意思是,如果硬件设备(arduino 节点)发送包含超过 3 个 URL 参数的 POST 请求,就像我上面提到的那样。我不想处理这样的请求。多说些错误检查! (PS:请原谅不恰当的行话,应用程序开发的新手)
-
你看过例如stackoverflow.com/q/29568540/3001761?验证输入与保护应用程序不同,因此不清楚您要实现的目标。如果您只是想检查查询参数字典中的唯一键是
node、lat和lng,您尝试过这样写吗?
标签: python url flask http-post pythonanywhere