本人作为一名 Java 开发者, 在工作中时常遇到需要从其它系统拉取数据, 那么就需要跟其它系统的同学沟通为我们开放接口, 对方会发送一些 AppId 和 AppKey 之类的数据, 在我们请求接口的时候, 需要把这些值和参数等信息一起生成摘要发送过去; 最近项目又因其它原因, 需要开放外网, 于是安全部对系统一顿扫描, 提出各类安全要求, 本人也将近期的收获分享给大家
1. XSS 防护
1)XSS 原理
XSS 是最常见的功能类型, 其原理就是在 web 页面中嵌入恶意脚本程序, 当用户在打开页面的时候, 恶意的脚本程序就会在客户端的浏览器中执行;
例如: 在输入框中输入以下代码
<script>alert("hello");</script>
还可以将 URL 进行 URLEncode 进行编码
比如: 将 <,>,/ 进行转换为 %3cscript%3ealert(%22aaa%22)%3b%3c%2fscript%3e
除了以上的方式之外, 还可能转换大小写, 来躲避过滤器
比如:<ScrIPt>xxx</sCRipT>
2)XSS 分类
3)XSS 防范
常见的防范方式:
设置 HttpOnly
2. CSRF 防护
3. 防止接口重放
4. 接口参数使用签名
来源: http://www.bubuko.com/infodetail-3262480.html