网站协议同意与否需要作为参数传递吗?

比如用户注册功能,注销功能,点击同意协议的话, 传递参数,后端需要验证用户同意与否吗?

阅读 1.6k
2 个回答

通常情况下应该是不需要才对。

就拿注销点击同意协议来说,假设传递为 /api/logout ,我们当然可以在body里定义

is_confirm: true

如果按照你的假设,用户是否勾选同意,决定了你的 is_confirm 字段为真假,传递过后,后端如果发现选择的是 false ,就不会真的注销。

这不是很奇怪吗?
如果用户没有真的点击同意,前端应该根本不可以向后端发出去这个请求才对。后端在这里的校验是个无用功。
有人会抬杠,那如果接口被人盗用了呢?
请问你的用户的 token 是干什么的呢? 而且盗用了那也不是这个层面上需要考虑的问题了。

不过反过来,我倒是能大概揣测一下这个问题的用意。业务上的实际问题很可能是:

  1. 如何前端确保用户不会误触发注销请求到后端去
  2. 重要功能是否有多次确认,显式的提醒用户当前操作的重要性,在用户二次甚至三次确认后才真正的发出请求提交
  3. 当请求发出后,后端收到处理了,是否业务上有反悔和延迟处理的可能性?(比如注销进队列,15日后才正式注销

但无论哪种情况,题目中的同意与否作为参数传递都显得有些不伦不类。
你当然可以传,后端当然可以接,也可以做判断。只是我觉得从哪个方面都是多此一举。因为真正需要处理的问题不在这一个请求里,而是在业务的其他环节中。

一般是需要的, 收到后端返回的校验正确后进行跳转, 不过具体的业务要求需要与业务老师商量, 最好沟通一下, 方式做无用功

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题