You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Flask动态路由可被未指定的参数值正常访问

问题原因

你的update路由视图函数完全没有校验URL路径传入的randomString参数,反而直接将局部变量randomString覆盖为session中存储的值,只要session中存在randomString字段,无论URL路径里传入的是1还是任意其他内容,都会直接返回update.html页面,这就是问题的核心诱因。

修复方案

调整路由逻辑,增加URL参数和session存储值的一致性校验即可,修改后的代码如下:

@app.route('/update/<randomString>')
def update(randomString):
    if 'randomString' in session and randomString == session['randomString']:
        return render_template('update.html')
    else:
        # 校验不通过返回403状态码的错误提示
        return 'error...', 403

调整后只有URL中传入的随机字符串和session存储的完全匹配时,才能正常访问页面,随意输入的其他路径都会返回错误。

内容的提问来源于stack exchange,提问作者Alfha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 09:12:03