是"虚拟网址"需要从前端对Flask进行函数调用吗?

时间:2016-06-16 16:49:33

标签: python flask

我正在制作我的第一个使用Flask的网络应用程序,其中根据所选成分在前端显示饮料数据库。然后,当用户点击"制作"然后用户选择饮料并且页面内弹出显示一些饮料信息和按钮" make"它在后端(Flask)调用一些python代码来控制我的覆盆子pi上的GPIO来控制一些泵。

这是&#34; make&#34;需要调用一些路由(例如$fileId = '0BwwA4oUTeiV1UVNwOHItT0xfa2M'; $content = $driveService->files->get($fileId, array( 'alt' => 'media' )); )以便在后端调用python函数?我不喜欢这样的想法:任何用户都可以输入URL(/make/<drink>),即使没有加载适当的成分,数据库中的某些内容也会强制机器制作饮料。即使我在后端检查以确保用户已选择加载的成分,我希望用户必须使用界面而不是仅输入URL。

有没有办法让make按钮调用python代码而不使用&#34;虚拟URL&#34;用于将按钮路由到服务器?

1 个答案:

答案 0 :(得分:0)

正如其他人所提到的,您可以保护端点,以便用户必须提供凭据才能向该端点发出成功的请求。

此外,如果端点创建/更新数据,则应使用正确的HTTP语义。即POST创造饮料,PUT更新饮料。这也可以保护您免受将URL放入浏览器的人的影响,因为这是GET请求。

TL; DR

  1. 保护端点(如果可能)
  2. 添加检查,提供正确的请求正文
  3. 使用正确的HTTP语义