我们正在创建一个像这样划分的在线服务: - 当然是一个API - 完整的JS / AJAX客户端,没有MVC,它是纯JS
我们是经验丰富的开发人员,我们知道我们无法保护JS客户端代码,但是,我们正试图通过分析我们的JS API调用来阻止第三方创建自己的客户端,这样就限制了访问只来自我们自己的客户。
提前致谢!
答案 0 :(得分:2)
我们是经验丰富的开发人员,我们知道我们无法保证 但是,JS客户端代码,我们正试图想办法防止第3次 各方通过分析我们的JS API调用来创建自己的客户端 这种方式只能从我们自己的客户端重新访问。
这是矛盾的。如果您知道客户端ECMAscript代码永远不会被隐藏,那么任何有经验的开发人员都可以分析您的代码。即使严重混淆,缩小和丑化。
通过密码使用服务器端身份验证。它是唯一安全的方式。您只是无法阻止某人克隆/复制您的脚本。
答案 1 :(得分:0)
我认为你不能。也许生成一个密钥或其他东西来授权请求。
答案 2 :(得分:0)
对于你和任何有类似问题的人,请注意;是不可能的。如果您发送的用户工作代码将与您的API进行通信,那么您无需停止修改或重写该代码。您可以保持安全的唯一区域是后端。
答案 3 :(得分:0)
哦,这是一个错误的问题。
您需要问的问题是“如果有人在没有我的客户的情况下访问我的服务器,我为什么要关心?”
你显然有理由。我只能想到一个原因 - 您的服务器信任客户端表现良好。 不要那样做。确保服务器可以处理任何类型的zany客户端请求。它不需要很好地处理它(抛出500服务器错误就可以了) - 只要恶意客户端不会弄乱你的数据或完全杀死你的服务器。
答案 4 :(得分:0)
你可以尝试模糊你的javascript代码,使其难以阅读:
你可以找到伙伴
如果您有身份验证,则可以将会话ID传递给您的API以保持用户登录,因此如果用户未进行身份验证,他将无法从您的API获取数据。