以视频下的评论接口为例, 接口支持文字和图片评论两种,用户需登录才能评论
http://sns.iqiyi.com/comment
方法:post
参数定义:
参数名 是否必须 参数类型 参数说明
videoId Y int 视频id
content N String 文字内容,content和picture必传其中一个
picture N binary 图片二进制
http方法:
1. 用post方法
2. 用其他方法,如get、put、delete等
登录相关:
1. 未登录(无相关cookie)
2. 已登录且登录态有效
2. 曾经登录后但cookie失效
单个字段通用用例:
1. 无此字段
2. 字段为空字符串
3. 字段值为null、NULL、None、undefined
videoId字段用例:
1. 类型不对,传字符串abc、小数浮点数、负数、0
2. 库里没有的视频id
3. 超过整数型的最大值
4. 库里有的视频id
content字段用例:
1. 带各种特殊字符,如emoji表情、<>& $¥%_’<a#|;@··“”/、\n\t=+-*
2. 超长字符串,比如复制1M以上的字符串
3. 字段值带xss攻击型的html标签,如a标签、script标签等
4. 非法性评论,如反共、色情等
5. 正常评论
picture字段用例:
1. 非图片格式文件, 如txt、exe
2. 修改文件后缀,如txt改为png
3. 各种图片格式,如gif、png、jepg、jpg、webp等等
4. 图片大小限制,传巨大图片
5. 传非法图片,如黄图、违法图片
6. 文件名带特殊字符,如中文、斜杠、点号、空格、或其他字符
7. 正常图片
参数组合情况:
1. 所有参数均缺失
2. 仅有videoId
2. 有videoId和content,且值正确
3. 有videoId和picture,且值正确
4. 仅有content和picture,且值正确
5. 三个参数均有,且值正确
安全性:
1. 高并发写
2. 有签名参数的,尝试添加debug=true,debug=1等常用后门
3. 常用的xss攻击性字符串
4. 常用的sql注入参数
其他安全性设计:
1. 接口签名
2. 接口参数加密