如何对外屏蔽PC端F12下,调用的后端接口名?
如图,F12查看XHR页面调用的后台接口
不做处理的话会看到完整的接口名如queryArticles,接口名有时候会暴露业务逻辑,若想把后台接口名在这不展示真实的
比如,前端调用queryArticles,想在这个F12看的时候变成某个固定名,如ibigboy,所有前端访问后台接口在F12里看时都是ibigboy。
或者每一个接口名对应一个唯一的混淆后的,如queryArticles对应ibigboy,qureyArticleDetail对应itcode。
即实现两种:
1.F12时看到的非真实接口名但都是同样的接口名
2.F12时看到的非真实接口名且都不一样
该如何实现,求大佬指点
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我的理解,这个前端没法操作.
如果要实现你所说的效果,你需要让浏览器配合你,在 F12 的时候,显示的是一个 url,而发送请求使用的是另外一个 url.我觉得这个不太现实.
就算你真的有办法让浏览器配合你,我在中间加个代理就可以了,你浏览器发送请求总得发送真实的请求吧,直接拦截你的请求,你调用的接口名还是无所遁形.
所以这个还得从后端入手,后端将接口名修改成不会暴露你的业务逻辑,或者加一个中间层,后端不变,在中间层去处理跟后端的沟通,前端去跟中间层沟通,这样可以在中间层去修改对应的接口名.
前端代码没有秘密,当你运行的代码到浏览器那里之后就不可控了,所以最好的办法别让那些你认为有安全隐患的东西到达浏览器.
另外有一种技术称之为禁止调试,就是在代码中加入循环
debugger
的代码,如果有人打开调试,就会一直循环,然后一直卡着.不过这个可能只对初学者有用,能跳过的方法有很多.说实话,代码都在别人手上了,还能怎么办,又没办法阻止别人去看它,通过混淆最多也只是增加对方的阅读成本,让对方不那么容易去理解逻辑而已.
我认为真正无敌的是,能做到不怕对方的看,爱看看呗,把重要的东西藏好,至于其他的,没那么重要的,就随它去吧.
不用F12,别人同样可以抓包得到接口名的,所以是很没必要做的事情,费力不讨好的事!要集中精力把接口的安全防范做好就好了!