Class JsonStringLikeXssHandler

java.lang.Object
org.nutz.json.JsonTypeHandler
org.nutz.json.handler.JsonStringLikeHandler
tech.riemann.nif.web.xss.escaper.JsonStringLikeXssHandler

public class JsonStringLikeXssHandler extends org.nutz.json.handler.JsonStringLikeHandler
JSON字符串类型XSS处理器

用于在Nutz JSON序列化过程中对字符串类型值进行XSS过滤

继承自JsonStringLikeHandler,重写toJson方法实现XSS过滤逻辑

主要功能: 1. 根据XssHolder的配置决定是否忽略XSS处理 2. 对需要XSS处理的字符串进行HTML特殊字符转义 3. 确保null值的安全处理

Author:
Kerbores(kerbores@riemann.tech)
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    toJson(org.nutz.lang.Mirror<?> mirror, Object currentObj, org.nutz.json.JsonRender r, org.nutz.json.JsonFormat jf)
    将对象转换为JSON字符串,处理XSS过滤

    Methods inherited from class org.nutz.json.handler.JsonStringLikeHandler

    fromJson, supportFromJson, supportToJson

    Methods inherited from class org.nutz.json.JsonTypeHandler

    shallCheckMemo

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • JsonStringLikeXssHandler

      public JsonStringLikeXssHandler()
  • Method Details

    • toJson

      public void toJson(org.nutz.lang.Mirror<?> mirror, Object currentObj, org.nutz.json.JsonRender r, org.nutz.json.JsonFormat jf) throws IOException
      将对象转换为JSON字符串,处理XSS过滤

      根据XssHolder的配置决定是否对字符串进行XSS过滤

      Overrides:
      toJson in class org.nutz.json.handler.JsonStringLikeHandler
      Parameters:
      mirror - 类型镜像,包含对象的类型信息
      currentObj - 当前要序列化的对象
      r - JSON渲染器,用于写入JSON
      jf - JSON格式化配置
      Throws:
      IOException - 当写入JSON时发生IO错误