更新时间:2026-02-26 GMT+08:00
分享

图片索引

您可以参考如下示例,配置图片索引。

图片检测(OpenAI请求方式)

OpenAI请求方式中,需要开启并配置索引,用以查找、访问和处理图片信息。该索引为请求Body体的JSONPath,并遵循JSONPath语法,支持表1中的所有示例。详细配置示例如下所示。

  1. 以如下Curl命令为例,参考如下配置,添加一条OpenAI请求方式的图片检测规则。

    curl https://api.example.com/chat/completions \
      -H "Content-Type: application/json" \
      -d '{
        "model": "MODEL-DEPLOYMENT-NAME",
        "messages": [ 
            {
                "role": "system", 
                "content": "You are a helpful assistant." 
            },
            {
                "role": "user", 
                "content": [
    	            {
    	                "type": "text",
    	                "text": "Describe this picture:"
    	            },
    	            {
    	                "type": "image_url",
    	                "image_url": {
                            "url": "data:image/<your_image_type>;base64,<your_image_data>"
                        }
                    } 
               ] 
            }
        ],
        "max_tokens": 100, 
        "stream": false 
    }'
    图1 图片检测配置示例(OpenAI请求方式)
    表1 图片检测关键参数配置(OpenAI请求方式)

    参数

    取值

    图片路径

    /chat/completions

    图片索引

    ,填写索引:$.messages[*].content[*].image_url.url

    OCR检测

    内容检测

    ,选择要进行内容检测的项目,此处建议全选。

    防护动作

    拦截

    拦截页面设置

    HTTP返回码

    403

    页面类型

    application/json

    页面内容

    { 
         "message": "您的输入不合法,请换一个话题。", 
         "code": "content_policy_violation" 
     }

  2. 在大模型页面提问:“Describe these pictures:”并附上图片。
  3. WAF收到完整请求:

    {"model":"model-name","stream":true,"messages":[{"role":"user","content":" You are a helpful assistant"} , {"role": "user", "content": [{"type": "text", "text": "Describe these pictures:"}, {"type": "image_url", "image_url": {"url": "data:image/<your_image_type>;base64,<your_image_data>"}

    WAF根据已配置的图片索引,识别到请求image_url中的图片的Base64编码,如果Base64编码对应的图片内容中包含违禁内容,拦截该请求。

图片检测(直接上传图片)

直接上传图片方式,支持两种上传方式,其Curl命令如下所示:
  • multi-part表单式
    curl https://api.example.com/chat/completions -F "file=@<your_image_file_path>"
  • 二进制内容data-binary式
    curl https://api.example.com/chat/completions -H "Content-Type: image/<your_image_type>" --data-binary @<your_image_file_path>
  1. 以上述Curl命令为例,参考如下配置,添加一条图片检测规则。

    图2 图片检测配置示例(直接上传图片)
    表2 图片检测参数配置(直接上传图片)

    参数

    取值

    图片路径

    /chat/completions

    图片索引

    该方式中,当前路径即为图片路径,无需开启并配置图片索引,即可进行检测。

    OCR检测

    内容检测

    ,选择要进行内容检测的项目,此处建议全选。

    防护动作

    拦截

    拦截页面设置

    HTTP返回码

    403

    页面类型

    application/json

    页面内容

    { 
         "message": "您的输入不合法,请换一个话题。", 
         "code": "content_policy_violation" 
     }

  2. 在大模型页面发送图片,其中图片内容会自动发送到“/chat/completions”的“图片路径”中。
  3. WAF收到完整请求,会自动解析图片的二进制内容,如果对应的图片内容中包含违禁内容,拦截该请求。

相关文档