Oracle Apex 存在大量nobody用户会话的解决方法咨询
Oracle Apex阻止nobody用户会话生成的可行方案
nobody会话本质是未完成身份认证的匿名公共会话,大多由访问公共页面、爬虫扫描等行为触发,可通过以下方案处理:
- 调整应用全局会话管理配置
进入共享组件 > 安全属性 > 会话管理,关闭「为公共页面创建新会话」开关,仅在用户完成身份认证后才生成正式会话,从源头减少访问公共页面时的nobody会话生成。 - 优化登录页等公共页面的会话属性
针对你使用的登录页Page 9999,进入页面编辑界面的「安全」标签,将会话保留策略设置为临时会话,页面提交后销毁,用户访问登录页生成的临时匿名会话会在登录跳转、离开页面后自动销毁,不会长期残留。 - 调低未认证会话的超时阈值
进入实例管理的会话管理 > 会话参数,将未认证会话超时时间从默认值调整为10~15分钟,APEX内置的清理作业会自动清除超时的nobody会话,避免大量堆积。 - 拦截异常访问请求
大量无人为操作的nobody会话通常由爬虫、漏洞扫描工具爬取登录页触发,可在Web接入层(如Nginx、OHS)添加规则拦截异常User-Agent、高频访问的IP,也可在APEX应用前置验证逻辑中添加请求校验,减少无效访问触发的会话生成。 - 梳理公共页面权限
排查应用内所有设置为「公共访问」的页面/接口,不需要会话状态支持的静态资源、公开接口单独设置为不启用会话状态,避免不必要的nobody会话生成。
相关会话情况参考:
内容的提问来源于stack exchange,提问作者user_odoo
相关产品推荐
相关产品推荐

