【Java项目】解决请求路径上明文ID传输导致可能被攻击的方法

这篇具有很好参考价值的文章主要介绍了【Java项目】解决请求路径上明文ID传输导致可能被攻击的方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题

这个问题是我公司的一个小业务问题,问题来源于我们发送请求的时候,请求路径上携带的是明文,比如http://xxx/xxx/id=12345,那么别有用心的人就可能会推测出id的生成策略,导致遍历id,自增id的方式来获取我们服务的数据,这是很危险的,所以我的mentor就叫我想一个解决方法。
比如如下的方式就有可能推测出id的生成策略,导致被攻击,我们需要解决的就是这种问题
【Java项目】解决请求路径上明文ID传输导致可能被攻击的方法,java,java

思路

在解决问题之前,需要先考虑几个因素,先列出我们可能想到的解决方式以及这种方式的问题:
首先就是对id进行加密解密,也就是我们在前端和后端代码处都保存一份密钥,然后使用这一份密钥对id进行加解密,我们后端查出数据进行密钥加密之后再把数据(加密后的数据)返回给前端,然后前端再次使用密钥去解密这个密文。看上去好像可以,不是明文传输了,比如返回的路径可能如下:
【Java项目】解决请求路径上明文ID传输导致可能被攻击的方法,java,java
但是这样子做仍然有问题,这个问题就在于,前端的代码是共享的可见的,也就是我们的密钥以及解密方法都是直接存储在浏览器并且可以使用F12去查看和修改的,那么得到了密钥之后进行解密然后再递推出ID依旧是可行的,所以这种方式不可以,这也是最开始我想到的方法。

解决

上面说到了,这种解决方式的问题就在于,你的密钥是存储再前端的,那么如果我们有一种办法可以让前端不存储密钥,但是也可以加密解密,那么就能解决这个问题了。

我的思路是,我们的后端代码从数据库取出ID之后,使用后端代码存储的密钥进行加密,后端代码不开源,所以其他人是拿不到密钥的,那么加密方式只有我们开发者才能知道,然后我们将明文ID和加密好的密文一起传输给前端,前端使用明文进行展示,虽然HTTP请求中依旧可以看到明文和密文,但是如果不法分子想要发送一个对应的请求,他同时也需要同时传输一个明文和密文,由于他不知道密钥,也就无法对明文加密得到密文,它传输过来的密文即使存在,是正确的,但是由于密文是错误的,所以它的查询是失败的,他依旧是不知道我们具体的数据,也就一定程度上保证的数据的安全。文章来源地址https://www.toymoban.com/news/detail-527356.html

到了这里,关于【Java项目】解决请求路径上明文ID传输导致可能被攻击的方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Java项目】SpringCloud项目注册到Nacos中心时显示的是内网IP导致不同服务器之间无法互相调用接口的解决并发

    微服务项目地址—动动你发财的小手点一个stars吧 出现这个问题是之前我也就遇到过的,这个问题的情况就是: 我们知道微服务项目是可以把不同的项目部署在不同的服务器上从而减少某一台服务器的压力,我们只需要为每一个服务配置一个注册中心即可,然后一个服务需要

    2024年02月16日
    浏览(50)
  • springmvc 获取项目中的所有请求路径

    springboot/springmvc 获取项目中的所有请求路径 1. 编写业务代码 2. 异常信息 No qualifying bean of type ‘org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping’ available: expected single matching bean but found 3: swagger2ControllerMapping,requestMappingHandlerMapping,controllerEndpointHandlerMapping 原因就

    2024年02月09日
    浏览(41)
  • java实现大气污染排放传输路径模拟(iClientOpenlayer前端渲染)

    开头先看下模拟实现效果图   一、技术应用及背景说明 了解大气污染传输路径模拟可以帮助我们更好地了解空气污染的来源和传播方式,从而采取更有效的控制措施。这种模拟技术可以根据大气环境和气象条件,模拟出污染物在大气中的传播路径和影响范围,提供科学依据

    2024年02月03日
    浏览(44)
  • (待解决)java项目,nginx代理,请求200,但页面返回空白,响应体为空

    由于模拟分布式项目,只有一台主机(win10:192.168.31.225),一台虚拟机(centOS:192.168.204.81),需要通过win10主机的host的文件,将不同的域名都映射到虚拟机。 然后通过nginx作为代理服务器(安装在cengtOS的docker容器中),实现动静分离、反向代理和负载均衡。 nginx将请求转给

    2024年01月20日
    浏览(39)
  • Java获取请求头、参数、路径、

    request.getReader()和request.getParameter(\\\"key\\\") 方法只能读取一次,重复读取会报IO异常 从  ContainerRequestContext   对象 获取请求头、路径、参数  注意:这里MultivaluedMap和map不同,遍历的时候也不同,MultivaluedMap 一个key 可以有多个值 , map一个key 只对应一个值 举个例子: 从 Http

    2023年04月23日
    浏览(39)
  • 解决Origin请求头导致的Nginx反向代理403跨域问题

    页面通过域名A【https://a.winfun.com】访问接口,域名A通过Nginx服务进行反向代理,代理到域名B【http://b.winfun.com】,然后进行业务逻辑执行。 时序图: nginx配置: 接口返回Http状态为403,出现跨域问题。 为了方便测试,我们直接将接口放到Postman中进行模拟测试,并带上相关请求

    2024年02月12日
    浏览(45)
  • Java项目调试实战:如何高效调试Spring Boot项目中的GET请求,并通过equalsIgnoreCase()解决大小写不一致问题

    最近运行java项目的过程中,遇到一个问题。 在 @檀越 的远程指导下,一步步调试的过程中,发现是由于大小写不一致,导致判断不是同一个字段导致的。 最后将equals()替换为equalsIgnoreCase()后,成功解决问题 ! equals() 会判断大小写区别,equalsIgnoreCase() 不会判断大小写。 好久

    2024年02月03日
    浏览(63)
  • Java-SpringBoot-Range请求头设置实现视频分段传输

    老实说,人太懒了,现在基本都不喜欢写笔记了,但是网上有关Range请求头的文章都太水了 下面是抄的一段StackOverflow的代码...自己大修改过的,写的注释挺全的,应该直接看得懂,就不解释了 写的不好...只是希望能给视频网站开发的新手一点点帮助吧. 业务场景:视频分段传

    2023年04月19日
    浏览(39)
  • SpringCloud + SpringGateway 解决Get请求传参为特殊字符导致400无法通过网关转发的问题

    title: “SpringCloud + SpringGateway 解决Get请求传参为特殊字符导致400无法通过网关转发的问题” createTime: 2021-11-24T10:27:57+08:00 updateTime: 2021-11-24T10:27:57+08:00 draft: false author: “Atomicyo” tags: [“tomcat”] categories: [“java”] description: “SpringCloud + SpringGateway 解决Get请求传参为特殊字符导致

    2024年02月07日
    浏览(47)
  • Postman+Java springboot演示 get post put delete请求并携带(路径 路径问号后 json 表单)参数形式

    我们先创建一个java的springboot工程 在项目中 找到启动类的位置目录 在项目创建一个类 叫 user 我是想将 user 当做一个属性类的 按规范来讲 我们可以创建一个entity包 然后在下面去创建属性类 但这里 我们不想搞那么麻烦了 毕竟只是练习一下 然后 user参考代码如下 这里 只是定

    2024年02月06日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包