# interceptor_01 **Repository Path**: yunhedata/interceptor_01 ## Basic Information - **Project Name**: interceptor_01 - **Description**: springmvc拦截器01 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2017-01-03 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #1、性能损耗 #2、日志记录 #3、异常错误 #4、会话验证 #5、地址限制 #6、签名校验 出于安全考虑,使用拦截器对发往服务器的请求做安全性验证是很有必要的,我们只想接受处理我们允许的客户端所发来的请求。 对于一个功能比较复杂的系统,不妨设计这样一个数据表(简略表示): id title secret appkey 1 支付系统 111111 PAY 2 商户APP UI 222222 APP-UI 3 企业平台 333333 PLATFORM 其中存储了各主要系统的元信息,我们为每个系统分配一个应用key来作为该系统的标识,并分配一个专属于该系统的秘钥secret。在提前使用安全的手段把secret和appkey交给客户端之后,我们可以与客户端约定,每次发来的请求中携带一个签名参数(比如用键“sign”命名),其值是由“发送的数据+客户端手里的秘钥”做不可逆加密而得到的一个字符串(或者别的什么)。当服务器收到这个请求时,拿出request里的appkey,从数据库里查到该appkey对应系统的secret秘钥,然后服务器也按照约定好的规则生成一个签名,二者一比对就知道跑请求是否该允许了