关于DeleteVideoInfo

来源:4-8 uploadHandler实现

remembers

2020-03-24

func DeleteVideoInfo(vid string) error {
	stmtDel, err := dbConn.Prepare("DELETE FROM video_info WHERE id=?")
	// ...
}	

艾文西老师,以上是您的DeleteVideoInfo代码

我认为改成以下比较好,否则 用户A 改一下请求中的vid就能删掉 用户B 的视频

func DeleteVideoInfo(vid string) error {
	stmtDel, err := dbConn.Prepare("DELETE FROM video_info WHERE id = ? AND author_id = ?")
	// ...
}	
写回答

1回答

艾文西

2020-03-25

类似的问题好像我在别人的问题里回答过。

先说结论,确实需要做防横向越权的处理。

但是这里其实是没有必要做校验的,因为是原子化的操作,已经到dbops层了,放在java模型里基本上已经到ORM层了,这时候再做防横向越权其实已经过了,对分层架构也会造成破坏。应该在handler处理的时候做,vid如果和username不匹配直接报错就好了

0
0

Go语言实战流媒体视频网站,高效学习Go高性能开发

从零开始,全面掌握Go语言编码的架构风格和开发Web的关键技能

996 学习 · 268 问题

查看课程