使用JavaScript获取用户计算机的独特之处?

这是个主意:
如果我可以从 HTML页面(可能是MAC地址)获得带有 JavaScript的计算机的独特之处,那么我可以将此数据用作另一个安全检查吗?
那可能吗?

我不打算在客户端检查计算机,我将把它发送到服务器进行检查.如果没有发送,用户将被阻止.所以它不是任何开发人员萤火虫组合可以绕过的东西.我只想再发送一个包含用户名和密码的字符串,这是计算机所独有的,没有人知道他们是否没有从该计算机进入系统.就像用户自己隐藏的密码一样.

解决方法

>您可以尝试使用跟踪Cookie;但请注意,此类机制被视为暂时性的(例如,可以删除cookie).浏览器中的JavaScript是沙箱,因此无法访问页面外的组件.另请注意,使用JavaScript获得的任何安全感都是虚幻的 – 脚本在客户端运行,可以修改(因此无法判断“唯一”数据是真实的还是伪造的)或者完全禁用.
>如果您试图阻止随机人员攻击您的应用,您可能希望在经过一定数量的失败尝试后禁止他们.这不会给你任何安全,它更像是一个捕蝇草 – 它有点限制了烦恼.
>最后,如果您想要实际的安全性,请使用真实(非自签名)服务器证书和客户端证书进行HTTPS – 请参阅例如 this用于实现(但是,该示例使用自签名服务器证书,这不是很安全).这是一种在浏览器本身中很好实现的机制,它为您提供了一个有点安全的系统(配有安全的密钥库)来识别您的用户(而不是基本上有缺陷的JS“安全”,或者依赖于用户 – 可读文件).哦,你的数据在线上加密,这是一个奖励.

SSL实际上可以满足您的要求:验证客户端计算机是否具有颁发给该用户的证书.这种机制在浏览器内部工作,而不仅仅在网页内部;因此,与页内JavaScript相比,颠覆这一点要困难得多.它以安全的方式存储大的唯一标识符(客户端证书),并且它可以向服务器证明它实际上具有该标识符 – 这几乎是您的初始要求.

(顺便说一句,使用SSL,数据将在传输过程中受到保护,客户端可以验证服务器的身份;这些不是您的要求,但它们或多或少是必要的,以确保您实际上与真实客户端交谈和真正的服务器)

相关文章

事件冒泡和事件捕获 起因:今天在封装一个bind函数的时候,发现el.addEventListener函数支持第三个参数...
js小数运算会出现精度问题 js number类型 JS 数字类型只有number类型,number类型相当于其他强类型语言...
什么是跨域 跨域 : 广义的跨域包含一下内容 : 1.资源跳转(链接跳转,重定向跳转,表单提交) 2.资源...
@ "TOC" 常见对base64的认知(不完全正确) 首先对base64常见的认知,也是须知的必须有...
搞懂:MVVM模式和Vue中的MVVM模式 MVVM MVVM : 的缩写,说都能直接说出来 :模型, :视图, :视图模...
首先我们需要一个html代码的框架如下: 我们的目的是实现ul中的内容进行横向的一点一点滚动。ul中的内容...