如何提高系统接口安全性

本人作为一名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. 接口参数使用签名

原文地址:https://blog.51cto.com/13733462/2446118

时间: 2024-10-19 09:34:29

如何提高系统接口安全性的相关文章

ASP.NET MVC3实战系列(二):面向接口编程,提高系统可测试性。

ASP.NET MVC 使用MVC的架构,其架构本身就使应用程序更易于测试,但这并不意味着可以随便写出易于测试的程序.我们都知道单元测试在系统开发有着很重要的作用. 我们来写这样的一个程序,系统获取某个坏男人的情人信息,然后发送给他老婆. 1. 建一个Lover的ASP.NET MVC3项目 我们需要1个实体类,存储男人,情人和老婆的信息. 然后我们需要一个LoverRepository来获取某个人的情人,这里就想成从数据库取数据.我们这里先返回固定的数据 建一个HomeController,

如何增强 Linux 系统的安全性,第一部分: Linux 安全模块(LSM)简介

http://www.ibm.com/developerworks/cn/linux/l-lsm/part1/ 1.相关背景介绍:为什么和是什么 近年来Linux系统由于其出色的性能和稳定性,开放源代码特性带来的灵活性和可扩展性,以及较低廉的成本,而受到计算机工业界的广泛关注和应用.但在安全性方面,Linux内核只提供了经典的UNIX自主访问控制(root用户,用户ID,模式位安全机制),以及部分的支持了POSIX.1e标准草案中的capabilities安全机制,这对于Linux系统的安全性是

关于某某系统增加相应功能,提高系统的可用性和易用性

通过阅读<大型网站技术架构:核心原理与案例分析>第五六七章,结合<xx系统>,分析如何增加相应的功能,提高系统的可用性与易用性的感想: 网站的可用性描述网站的可有效访问的特性(不同于另一个网站运营指标:Usability,通常也被译为可用性,但后者强调的是网站的可用性,即对最终用户的使用价值),相对于网站的其他非功能特性,网站的可用性更牵动人们的神经,大型网站不可用事故直接影响公司形象和利益,许多互联网公司都将网站可用性例如工程师的绩效考核,与奖金省钱等利益挂钩. 不同于其他架构指

缓存外部系统接口返回信息的方案

概要: 在一个大的系统当中,通常会切分成多个子系统,子系统与子系统之间可以通过微服务.http接口或者mq等来相互通讯.假设有这样一种场景,A系统需要调用B系统的f1 接口,获取数据后再向前端系统输出. 前端系统通常所承受的并发量是非常大的,也就是说A系统的接口需要有很高的qps. 这个时候我们需要缓存B系统接口的输出,以便提高A系统接口的响应速度. 详细内容请看我的csdn博客链接: 缓存外部系统接口返回信息的方案

(转载)提高系统OOP抽象以应对复杂的需求

提高系统OOP抽象以应对复杂的需求, 转自:http://www.nowamagic.net/librarys/veda/detail/1373 有人问我如何构建一个比较好的类阶层次,如何使用面向对象进行设计,或者问为什么我看了那么多面向对象和设计模式的书一到使用的时候却总是写出面向过程的代码.每当我碰到这些问题的时候我总是回答,其实我也不知道.真的,其实我也不知道. 虽然我总是张口闭口面向对象,总是看到一个问题后就谈这个有点XXX模式的影子,但大部分时候碰到一个问题我还是一片空白,不知道如何去

[译]在Linux上的提高MySQL/MariaDB安全性的12条建议

MySQL 是世界上最流行的开源数据库系统,而MariaDB(MySQL的一个分支)是世界上发展最快的开源数据库系统.安装MySQL服务器之后,它的默认配置是不安全的,保护它是一般数据库管理中的基本任务之一. 这将有助于加强和提升整体Linux服务器安全性,因为攻击者总是扫描系统任何部分的漏洞,而数据库过去一直是关键的目标.一个常见的例子是暴力破解MySQL数据库的root密码. 在本指南中,将讲解在 Linux 很有用的 MySQL / MariaDB 安全性最佳实践. MySQL 安全性安装

如何使用ATS提高应用的安全性

App Transport Security,简短的说就是ATS,是iOS9和OS X El Capitan的一个新特性.App Transport Security 的目标是提高Apple 操作系统的安全性以及在此操作系统上运行的任何应用的安全性. 基于HTTP传输数据的网络请求都是明文.开启App Transport Security后,网络传输自动通过HTTPS传输而不是HTTP. App Transport Security要求TLS (Transport Layer Security)

Web应用系统的安全性测试区域主要有

1. 目录设置 Web 安全的第一步就是正确设置目录.每个目录下应该有 index.html 或 main.html 页 面,这样就不会显示该目录下的所有内容.如果没有执行这条规则.那么选中一幅图片,单击鼠标右键,找到该图片所在的路径"… com/objects/images".然后在浏览器地址栏中手工输入该路径,发现该站点所有图片的列表.这可能没什么关系.但是进入下一级目录 "…com/objects" ,点击 jackpot. 在该目录下有很多资料,其中有些都是

(办公)访问其他系统接口httpClient,异步访问

访问其他系统接口httpClient,但是都是同步的,同步意味当前线程是阻塞的,只有本次请求完成后才能进行下一次请求;异步意味着所有的请求可以同时塞入缓冲区,不阻塞当前的线程; httpClient请求,访问其他系统可能无响应,锁死,访问请求上线种种问题,这些问题就像苍蝇嗡嗡嗡的在你耳边,那么解决他可以设置超时时间,但是访问一个接口将近1分钟,这个是不应该的,所以还是要异步请求其他系统的接口,我们可以使用多线程来做,建立一个线程池,只指定10个线程,然后调用方法.(好主意) 下面是举个sprin