Php Web服务身份验证

Php Web服务身份验证,php,html,ajax,web-services,authentication,Php,Html,Ajax,Web Services,Authentication,我正在开发webservice+AJAX接口,我担心身份验证。现在我将用户名和密码作为参数传递给Web服务,但我担心这种方法非常不安全。我被告知ssl可以解决我的问题,但我希望有更多的选择 我的Web服务是用php编写的,我的界面是用php+AJAX编写的。web服务接收来自POST或GET的参数,并检索xml(将来可能我会使用JSON)如果我理解这个问题,您有1)到PHP的AJAX帖子,2)PHP调用web服务。 您应该拥有步骤1的SSL证书。对于步骤2,web服务计算机上的SSL证书也将是安

我正在开发webservice+AJAX接口,我担心身份验证。现在我将用户名和密码作为参数传递给Web服务,但我担心这种方法非常不安全。我被告知ssl可以解决我的问题,但我希望有更多的选择


我的Web服务是用php编写的,我的界面是用php+AJAX编写的。web服务接收来自POST或GET的参数,并检索xml(将来可能我会使用JSON)

如果我理解这个问题,您有1)到PHP的AJAX帖子,2)PHP调用web服务。
您应该拥有步骤1的SSL证书。对于步骤2,web服务计算机上的SSL证书也将是安全的。另一种选择是在web服务器和web服务的服务器之间建立一个安全的VPN。

AJAX请求与普通请求没有什么不同

因为您有一个AJAX界面,我想您可以有一个用户登录的页面。当他们登录时,在浏览器中存储cookie。然后,每个AJAX请求都可以发送回此cookie


您的PHP脚本可以使用cookie对AJAX请求进行“身份验证”,就像对普通请求进行身份验证一样。

有各种标准,如ws-trust、ws-security、ws-federation等,您可以依赖这些标准来保护您的Web服务

您还可以对包含安全信息的soap头进行签名

下面的博客详细介绍了使用php的Web服务的各种身份验证机制。

具有用户凭据的SSL几乎是您所能获得的最安全的。您必须定义您的安全问题是什么。用户的数据包将被嗅探?这就是SSL的用途。未经授权的用户将获得访问权限?这将取决于密码的安全性


您可以做的一件事是建立一个租赁系统,在该系统中,您可以分发一个唯一的加密ID,该ID必须在post中传递,并且在交易后或短时间后过期。可以将此租约代码检索到页面中的一个隐藏div中(以避免上面的沙箱问题),然后插入到后续的每个Ajax请求中。

请小心。一些IE版本从主页请求“沙盒”AJAX。那么Cookie就不可用了…@Pierre YvesGillier您提到的问题似乎只有在站点位于iframe内时才会发生。和。