该文章只考虑前端工程师可以处理的安全性问题,如果说是服务器被黑的什么方面,下文的操作是防不住的
一,跨域问题引起的安全性问题
就目前而言,大多数软件开发都会分前后端开发,为了方便开发,前后端数据请求都是可跨域的,这样的话别人知道请求地址的时候也都能获取到数据.
什么是跨域:
(1)不同域名(2)不同端口(3)不同协议
这三个有一个不同即为跨域
解决办法:
- 数据传输都是统一的JSON数据格式进行传输,那我们可以对json进行字符串化
var a = {a:1,b:2} JSON.stringify(a)
- 然后对字符进行一些算法加密 例如:MD5加密 等方式,不过MD5已经是公开的加密方式,论安全性也不是很安全,最安全的方式就是自己写加密。
json字符串化后 -> 转二进制 -> 反补 -> 字符串化 -> md5 32位 -> md5 16位-> **********************
当然要怎么加密,可以自己去设计,上面只是举个例子,只要这套加密方式不公开,那解密的人只能自己猜想了
二,页面中的数据安全问题
没错,前端显示出来的数据给用户查看也会造成数据的流失,相信很多人都听过 “ 爬虫 ”这种东西,就是模拟用户的操作过程,对DOM元素的数据进行爬取记录。
爬虫:你的DOM结构越简单,我就越容易爬取你的数据
解决办法:canvas
博主是用 html2canvas 这个插件去预防这个问题的,讲dom转Canvas再显示出来,这样爬虫就只能保存图片了,下来的数据也就只能是图片,而不是纯文字的数据了
html2canvas截图的缺点:
( 1 ) 不支持一些CSS属性
( 2 ) 不支持跨域图片