在后端重新验证数据?
Revalidate data on backend side?
我正在创建一个日程应用程序。
师生车。
Spring + 数据库 + React
正确的设计方式:
添加新行程如下所示:
- 1 Select 名学生(数据库提供的自动填充)
- 2 Select 次
范围
- 3.1 Select 列表中在该时间范围内没有任何骑行的老师 (2)
- 3.2 Select 列表中的车辆在该时间范围内没有任何行程 (2)
直到此步骤通过 Spring 中的存储库通过查询(例如提供该时间范围内可用的教师)工作。
在将其保存到 repository/database 之前,我是否应该在后端再次验证收到的 Ride?
是的,您应该在服务器上re-validate,因为您无法控制客户端是否发送错误信息。客户端可能会发送不良信息,因为它们是邪恶的(and/or 他们的计算机受到威胁),或者因为他们从数据库接收到陈旧的信息——或者信息在页面生成的那一刻和他们创建的那一刻之间变得陈旧他们的选择。
根据您的限制,数据库层可能会检测到无效插入 - 但最好事先检查,在执行重要插入的服务器上的 Spring 事务中,不存在冲突。
在后端验证数据非常重要。所以你需要继续在后端验证它,否则如果你的逻辑依赖于前端验证,你的数据可以很容易地被操纵。
我正在创建一个日程应用程序。 师生车。
Spring + 数据库 + React
正确的设计方式:
添加新行程如下所示:
- 1 Select 名学生(数据库提供的自动填充)
- 2 Select 次 范围
- 3.1 Select 列表中在该时间范围内没有任何骑行的老师 (2)
- 3.2 Select 列表中的车辆在该时间范围内没有任何行程 (2)
直到此步骤通过 Spring 中的存储库通过查询(例如提供该时间范围内可用的教师)工作。 在将其保存到 repository/database 之前,我是否应该在后端再次验证收到的 Ride?
是的,您应该在服务器上re-validate,因为您无法控制客户端是否发送错误信息。客户端可能会发送不良信息,因为它们是邪恶的(and/or 他们的计算机受到威胁),或者因为他们从数据库接收到陈旧的信息——或者信息在页面生成的那一刻和他们创建的那一刻之间变得陈旧他们的选择。
根据您的限制,数据库层可能会检测到无效插入 - 但最好事先检查,在执行重要插入的服务器上的 Spring 事务中,不存在冲突。
在后端验证数据非常重要。所以你需要继续在后端验证它,否则如果你的逻辑依赖于前端验证,你的数据可以很容易地被操纵。