post 防篡改_如何防止http请求数据被篡改

news/2024/7/7 19:15:07

方式一:设置客户端IP黑/白名单

1.1客户端所有请求,请求到代理服务器(nginx),代理服务器维护黑/白名单的ip,决定是否转发请求;

1.2项目创建一个filter,拦截所有请求,在filter的方法中,通过request信息匹配ip黑/白名单,和url的拦截规则,决定是否合法;

有点:简单粗暴;

确定:需要客户端的IP固定;

应用场景:为系统的后台管理服务,客服需要人工审批和通过涉及到钱财的业务;

方式二、请求参数Sign签名

2.1前端请求发起http请求,对参数排序,然后使用参数与私钥拼接,在进行md5加密等方式,生成一个签名出来,一起发给服务端,服务端这边获取到参数,签名,再使用自己的私钥进行同样方式的加密生成签名,比对签名是否一致。一致则认为合法,不一致则不合法。担水无法防止重复请求攻击;

2.2针对上面方法升级,可以缓存每次请求的MD5值,或者每个请求添加uuid+随机数这样一个代表请求序号的标识。然后请求到服务端时,服务端想办法缓存起来起来这个标识,每次请求过来时,判断是否已经请求过。

2.3在请求的参数中和签名结果里,假如时间戳这个参数,业务服务器一方面比较签名结果,一方面根据时间戳,来认证请求的合法性,比如允许请求的时间戳与服务器当前时间,存在20秒的误差等自定义规则。超过20秒的合法请求,服务器也不处理,防止恶意的重复请求。

方式三、请求方式换成Https。

http请求过程:

建立TCP连接——>客户端向服务器发送请求命令——>服务器应答——>关闭TCP连接——>客户端接受到服务器响应的数据

95f4e436e506a4f350433cbc7019a1ca.png

ssl(secure sockets Layer 安全套接字协议)


http://www.niftyadmin.cn/n/3390870.html

相关文章

Linux fork 后 wait 获取子进程结束的状态示例

使用 fork 后,可能需要获取 fork 的进程的运行状况,比如有没有异常、崩溃。 wait 在 man 中关键的描述如下: All of these system calls are used to wait for state changes in a child of the calling process, and obtain information abo…

[多图]Ubuntu最新显卡驱动安装方法及3D桌面部分问题解答

本文主要讲解Ubuntu环境下最新显卡驱动的安装方法以及3D桌面部分问题的解决方法,希望对大家有所帮助 目录:(1)硬件配置问题:(2)最简单的ATI或Nvidia显卡最新官方驱动安装方法:&…

tomcat连接mysql数据库_tomcat 连接数据库mysql

如图:一般实际中,客户端访问一个网站,最先到达apache/nginx这样的前端,用户不会直接访问到tomcat,通过nginx/apache的访问端口80再次访问后端的tomcat,tomcat会把用户数据存在datebase(数据库)一般实际的项…

Source Insight 3.X utf8 支持插件

继上次SI多标签插件之后,因为公司内部编码改为 utf8 编码, 因此特意做了这个Source Insight 3.X utf8 插件. 下载链接: http://download.csdn.net/detail/chinaeran/9106117 安装说明: 解压msimg32.dll sihook.dll siutf8.dll 到Source Insight 3.X安装目录 msimg32.dll 引导程…

ubuntu配置CPU温度监控

ubuntu配置CPU温度监控 时间&#xff1a;2008-11-21 10:29:33 来源&#xff1a;Linux联盟收集整理 作者&#xff1a; <script type"text/javascript"><!-- google_ad_client "pub-3701573918329010"; /* 300x250, 创建于 08-9-9 */ google_ad_…

mysql从服务器的配置_MySQL主-从服务器的配置

MySQL主-从服务器的配置本文介绍了mysql数据库的主-从服务器的详细配置&#xff0c;实现主-从服务器之间数据的复制。背景&#xff1a;1、主服务器&#xff1a;安装mysql-5.5.20-i386(且数据库中有很多数据)&#xff0c;操作系统&#xff1a;RHEL5&#xff0c;平台&#xff1a;…

Ubuntu Linux 3D桌面完全教程,显卡驱动安装方法

Ubuntu Linux 3D桌面完全教程&#xff0c;显卡驱动安装方法&#xff0c;compiz特效介绍&#xff0c;常见问题解答。 Ubuntu 2009-06-18 18:51 阅读1688 评论2 字号&#xff1a; 大大 中中 小小 [5月20日更新] Ubuntu Linux 3D桌面完全教程&#xff0c;显卡驱动安装方法&a…

魔域mysql_魔域单机版MySQL数据库启动失败解决办法

单机版魔域安装时数据库对象open失败怎么解决&#xff1f;小编刚解除魔域单机。。这几天用了好多版本。。都是启动MYSQL失败。。尝试过N次。。终于知道个法子&#xff0c;一起来看看吧&#xff01;以下教程只适合新手,其他人飘过误喷.刚下载完单机,解压完,就双击一键启动,很激动…