CodeIgniter 3脚本本地运行正常,部署线上服务器后出现XSS报错如何解决
CodeIgniter线上XSS告警修复方案
你提供的告警截图如下:
配置问题修复
你给出的config.php存在以下可优化的安全配置项,逐一修改即可解决大部分XSS告警:
// 1. 开启Cookie的HttpOnly属性,防止Cookie被前端JS窃取 $config['cookie_httponly'] = TRUE; // 2. 若线上站点为HTTPS访问,同步开启Cookie的Secure属性 $config['cookie_secure'] = TRUE; // 3. 修复Session存储路径配置,避免Session异常触发额外安全告警 $config['sess_save_path'] = sys_get_temp_dir();
业务逻辑排查
- 全局XSS过滤当前处于关闭状态(
$config['global_xss_filtering'] = FALSE),所有用户输入的内容在输出到前端视图前,必须用html_escape()函数做转义处理,或者调用$this->security->xss_clean()方法处理用户提交的非富文本内容。 - 你已开启CSRF防护,确认所有POST请求(尤其是AJAX异步请求)都携带了正确的CSRF令牌,避免被线上安全规则判定为异常请求。
线上环境排查
本地运行无告警仅线上触发的场景,优先排查线上服务器部署的Web应用防火墙(WAF)规则,查看告警命中的具体规则条目,确认是否是正常业务内容触发了规则误判,可对应调整页面内容或者添加对应路径的规则白名单。
内容的提问来源于stack exchange,提问作者alimonali
相关产品推荐
相关产品推荐

