{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

前端html源码可以不暴露接口吗?为什么?

The questionThe question 回答0 收藏2
收藏问题

10条回答

BingqiChen

BingqiChen

回答于2022-06-28 15:39

html属于的前端编程中一项,接口是必须要暴露的,起码基于现在的技术框架是无法避免的,因为只要是有关html的代码只需要在浏览器里面右键点击查看源代码所有的相关的html代码都会原封不动的展示出来,所以前端页面的很多样式特效只要有一家有新的变化出来,紧接着很快就会被抄袭拷贝了,样式和风格太容易拿来使用了,所以想在加密只能在数据接口上做做文章,现在web安全已经成为一个非常热点的问题,因为随着网页应用的普及化网页安全将会越来被重视。

常见的web都有哪些安全隐患,为什么要重视web安全?

SQL注入:这种危害性最大,直接违背设计者的初衷,注入篡改数据库操作,再严重点直接操纵数据库服务器,网站越大数据库被拖库的可能性越大,这是各大运营网站必须要面对的实际问题。在实际操作过程中对于用户的信息一定要管控,不要由着用户输入任何可能性对数据库产生危害的操作,不要使用动态拼接SQL,尽量不要返回异常信息给用户。

XSS:跨站脚本攻击

向web网页注入html脚本获取cookie为主,以js注入执行为主,导航到恶意网站或者注入木马,防护规则其实也很简单在js中,过滤掉关键字:JavaScript,cookie属性设置为http-only,同时提高代码严谨度和规范性比如在避免未经授权访问会话状态,限制会话的寿命,对身份验证的cookie进行加密,避免明文的形式密码发送。

当然还有其他的隐患:比如没有限制URL访问,越权访问,重复提交增加服务器负载等都是web安全领域涉及到的问题,现在web开发越来越倾向于前后端分离的方式,极大提升了开发的效率,但安全防护级别降低了,话又说回来只要在互联网上的东西很难保证绝对的安全,对于web来讲不上网就相当于瘫痪,所以只能在防护级别增加力度,为了防止被盗就采用数字加密方式常见的加密方式有(非对称的RSA,私钥加密等等),加盐操作(在拥有MD5算法的基础上采用加盐策略)普及下简单的概念加盐:“在密码学中,是指通过在密码任意固定位置插入特定的字符串,让散列后的结果和使用原始密码的散列结果不相符,这种过程称之为“加盐””,另外还有一种给现在支付吧或者微信接口经常使用的token机制,用令牌限制,这种通用性比较强,相当于在传输真正的数据之前先发送一个令牌指令验证打开门,验证通过之后才允许数据安全通过,而且这个令牌也是有期限的,到期了就会关闭。

网络的世界里面没有绝对的安全,在平常的开发过程中,代码的规范性以及严谨程度也会影响到安全指数,现在的网站开发功能一般都比较强大,参与人数多都会加大出错的概率,而且经常还有一个服务器上运行多个运营平台,这些都是安全隐患,绝大部分安全都是因为个人失误造成。

安全是无法完全杜绝,但可以通过一些方案或者措施最大程度的规避。

希望能帮到你。

评论0 赞同0
  •  加载中...
tracy

tracy

回答于2022-06-28 15:39

这个确实不能避免,对于开发者而言,直接f12打开调试模式就能看到,就算你隐藏得再深,但是请求数据的过程,还是会参与网络通信,只要是网络通信,那么肯定会有数据包交互,对于高手而言,用抓包工具,抓取数据包,然后分析得出你的接口地址,那是很简单的事。

如果接口的保密性真有那么高要求的话,你可以给接口加验证,比如,登录的cookie、或者是加一个token验证,就像微信开放平台的那套接口一样,要使用接口,先要去请求token的接口,获取到一个token,然后在请求真实的接口,并把这个token传递过去,后台验证这个token是否存在,如果存在才把数据返回去,当然,这个token必须得有一个过期时间,不能一直有效,否则就没有什么意义了。

评论0 赞同0
  •  加载中...
chanjarster

chanjarster

回答于2022-06-28 15:39

接口暴露是必须存在的,顶多是做一些掩饰,防防小白,但真要抓到你网站的接口,除非你不用,比如原始的php服务端渲染网页,但现在都是前后端分离,为了开发和维护,是要损失一些东西的。

Web开发,如果对安全有考虑,可以参考下面三个原则,适当调整和改造即可。

防窃取:非对称加密RSA,公钥加密,私钥解密等

防篡改:MD5混淆算法,加盐

防泄露:设定token机制,令牌限制

评论0 赞同0
  •  加载中...
taowen

taowen

回答于2022-06-28 15:39

暴露接口是必须的,但是可以通过token的方式加密请求,防止恶意请求

评论0 赞同0
  •  加载中...
姘存按

姘存按

回答于2022-06-28 15:39

不可能不暴露,都是标准协议,总可以抓到接口地址,安全的方法永远不是隐藏你家地址,是给你的门加锁,加保安,加围栏

评论0 赞同0
  •  加载中...
selfimpr

selfimpr

回答于2022-06-28 15:39

没有办法不暴露,只要浏览器F12就可以抓到了,你还是从参数安全层面出发比如验证签名比较靠谱。

评论0 赞同0
  •  加载中...
BothEyes1993

BothEyes1993

回答于2022-06-28 15:39

接口暴露是必然的,用浏览器开发者工具可以看到所有网络请求和回复

评论0 赞同0
  •  加载中...
CKJOKER

CKJOKER

回答于2022-06-28 15:39

网络接口是没办法不暴露的,就算你藏得很深,网络请求也会暴露接口,你不如考虑接口安全性,非鉴权请求拦截掉,如果真对接口地址那么保密,可做服务中转,即二次转接,网络请求到的是你的中转服务,中转服务再去请求真实接口,这样,假如有网络攻击,也不会直接攻击到真实接口服务器

评论0 赞同0
  •  加载中...
raise_yang

raise_yang

回答于2022-06-28 15:39

网页只要是htt请求,隐藏不了吧。页面渲染也可以去源码正则呀

评论0 赞同0
  •  加载中...
thursday

thursday

回答于2022-06-28 15:39

接口是必须要暴露的

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<