您是否可以分享您的观点?使用Javascript创建私人和受保护的会员
我的意思是真正的保护不仅仅像道格拉斯克罗克福德说的那样。
请勿使用_(underbar)作为名称的第一个字符。它有时用于表示隐私,但实际上并不提供隐私。如果隐私很重要,请使用提供私人成员的表单。避免表现出缺乏竞争力的惯例。
"use strict";
function MyMain(){
this.checkauth=false;
}
MyMain.prototype.init=function(){
return Object.create(this);
}
MyMain.prototype.authenticate=function(key){
//resp is server response hold true for the given key. here validate method will interact with server and get concerned response
var resp=validate(key);
if(resp){
this.checkauth=true;
return true;
}
return false;
}
MyMain.prototype.test=function(){
if(this.checkauth==true){
console.log("this is working")
}else{
console.log("Not authorized")
}
}
那么我没有解释看到我编辑的编辑。
我无意在客户端进行授权。我做了它在服务器上,并让私人成员真正说服务器已验证用户,我的问题是如何使这个安全。
和有权访问我的Javascript文件的用户可以读取所有内容并进行身份验证。
var main=new MyMain();
main.checkauth=true;
main.test();
寻找通过javascript创建安全认证的帮助。
永远不要信任客户端代码。 _一直验证用户输入服务器端。 – Cerbrus
“寻找通过javascript创建安全认证的帮助。”我想你会得到的最好的帮助是:不要。 –
您是否认为“受保护的成员”根本无法检查或访问?恐怕我不得不解除你的这个想法。 “传统”隐私在实际安全性方面并不比其他任何方面更安全。它仍然只是在浏览器中运行的JavaScript。成员封装和访问保护只是为了帮助开发人员交流预期的用法,没有什么更多的。就此而言,下划线与范围变量相同。 – deceze