我正在尝试找到合理的解决方案,通过API系统在客户端和服务器之间强制执行身份验证。然而,API本身并不是我的问题,我的问题是浏览器通常支持cookie和其他让服务器知道它是什么的方法,对于任何用自己编写的自定义应用程序来说都不一定如此。可能的语言。
我已经看了一些其他问题,答案很有用,例如: Authentication between client-side JavaScript application and Server Side HTTP API?
不幸的是,我已经想到了这一点,并没有实现我所追求的安全级别。我需要建议的是在实现(或可能模拟)一种SSL时采取的方法,该SSL可用于服务器到客户端脚本,其中服务器和客户端不一定支持SSL。
同时,这需要用于识别客户。
总结一下,我需要实现一个会话保持系统和一个可以与Apache和PHP一起使用的数据加密系统,以及一个用任何设备上运行的任何语言编写的客户端。
对不起,如果这个问题有点啰嗦。
答案 0 :(得分:1)
如果不诉诸SSL / TLS,您无法在浏览器和客户端之间合理地获得安全系统。原因是没有办法信任来自服务器或客户端的信息。当客户端从服务器运行不受信任的代码时,您不能信任页面中的任何JavaScript等。
缺少的是一种身份验证方法。 SSL / TLS通过在浏览器中使用受信任的证书存储来实现此目的。不幸的是,没有(标准化的)方法来使用脚本语言中的受信任存储。您可以尝试签名的Java Applet,但我认为这种方法不会让您受欢迎。
所以基本上你应该使用SSL / TLS。我不认为有很多浏览器不支持SSL / TLS,那些不支持SSL / TLS的浏览器不太可能支持高级身份验证方法。