Explorar el Código

fix(security): 修复XSS过滤正则表达式匹配问题

- 优化事件处理正则表达式,添加单词边界匹配避免误匹配
- 修正属性值匹配逻辑,防止actionArg等属性值被错误过滤
- 保持原有的XSS防护功能完整性
shichen hace 2 meses
padre
commit
53e2f30b6b
Se han modificado 1 ficheros con 2 adiciones y 2 borrados
  1. 2 2
      app/middleware/SecurityMiddleware.php

+ 2 - 2
app/middleware/SecurityMiddleware.php

@@ -179,8 +179,8 @@ class SecurityMiddleware
179 179
             '/javascript\s*:/i',
180 180
             '/on(load|error|click|mouse|key|focus|blur|submit)\s*=/i',
181 181
 
182
-            // 事件处理
183
-            '/<\w+\s+[^>]*on\w+\s*=[^>]*>/i',
182
+            // 事件处理(注意:属性名必须是完整的 onXXX,避免匹配到属性值中的 actionArg 等)
183
+            '/<\w+\s+[^>]*\bon\w+\s*=\s*["\']?[^>]*>/i',
184 184
 
185 185
             // 数据协议
186 186
             '/data\s*:/i',