我正在制作我的第一个使用Flask的网络应用程序,其中根据所选成分在前端显示饮料数据库。然后,当用户点击"制作"然后用户选择饮料并且页面内弹出显示一些饮料信息和按钮" make"它在后端(Flask)调用一些python代码来控制我的覆盆子pi上的GPIO来控制一些泵。
这是" make"需要调用一些路由(例如$fileId = '0BwwA4oUTeiV1UVNwOHItT0xfa2M';
$content = $driveService->files->get($fileId, array(
'alt' => 'media' ));
)以便在后端调用python函数?我不喜欢这样的想法:任何用户都可以输入URL(/make/<drink>
),即使没有加载适当的成分,数据库中的某些内容也会强制机器制作饮料。即使我在后端检查以确保用户已选择加载的成分,我希望用户必须使用界面而不是仅输入URL。
有没有办法让make按钮调用python代码而不使用&#34;虚拟URL&#34;用于将按钮路由到服务器?
答案 0 :(得分:0)
正如其他人所提到的,您可以保护端点,以便用户必须提供凭据才能向该端点发出成功的请求。
此外,如果端点创建/更新数据,则应使用正确的HTTP语义。即POST
创造饮料,PUT
更新饮料。这也可以保护您免受将URL放入浏览器的人的影响,因为这是GET
请求。
TL; DR