[12-24]章节的 redraw_from_wish视图中wish的查询结果有超权现象
来源:12-24 撤销礼物与心愿
浅色夏至
2019-06-24
@web.route('/wish/book/<isbn>/redraw')
@login_required
def redraw_from_wish(isbn):
wish = Wish.query.filter_by(isbn=isbn, launched=False).first_or_404()
with db.auto_commit():
wish.delete()
return redirect(url_for('web.my_wish'))
如果有多个用户对同一本书都有心愿,以isbn
作为查询条件的话,有可能查询到别人的心愿,导致别人的心愿被删除。
以下是我自己写的修改,以wish.id
作为查询条件,麻烦老师看看行不行:
@web.route('/wish/<int:wid>/redraw')
@login_required
def redraw_from_wish(wid):
wish = Wish.query.get_or_404(wid)
with db.auto_commit():
wish.delete()
return redirect(url_for('web.my_wish'))
写回答
1回答
-
7七月
2019-06-24
可能有部分的接口没有加入超权,这个自己加一下。时间有点长,我不太记得逻辑了,但是我看你帖的第一段代码,感觉这样是不是有问题?只凭isbn和lanunched,这好像不能唯一确定一个wish吧?我源代码也是这么写的吗?
00
相似问题