2011-10-15 24 views
8

我想要两台服务器,服务器A和服务器B.服务器A执行所有的身份验证(用户名和密码)。如果用户在服务器A被认证,则服务器A将发送用户的会话ID,IP地址,useragent等的POST数据。服务器B将通过SSL接收所有这些数据,并将信任服务器A并授予用户访问权限。此外,服务器B将仅通过服务器A的IP接受来自服务器A的POST数据。ssl/https中的php curl安全性如何?

我的问题是,由于发布的数据是通过curl/ssl发送的,它可以在流量中被拦截或被盗吗?黑客能否以纯文本(这里最重要的组件)查看会话ID?

有什么我可以做的,以增加这种方法的安全性?

+0

我正在将服务器A作为身份验证服务器和多个子服务器作为服务提供者。服务器A将对其进行身份验证并将用户指向其应用托管的位置。如果这是有道理的。 – user962449

回答

10

你不想用PHP实现这一点,因为这很容易通过webservers实现。您的服务器A处理SSL(there is even hardware for that)可充当服务器B的Central Authentication ServiceReverse Proxy。这是在服务器之间划分职责的常见设置。请研究这些主题。

您可以从多种。这个解决方案的挑选,从免费的解决方案,如nginx as a reverse proxycommercial solutions like IBM's WebSEAL

是的,当你使用SSL,它是secure enough(有疑问时,购买审计)。

在旁注中,这个问题可能更适合于serverfault.com。

+0

这意味着什么? – user962449

+2

这意味着你应该跳过用PHP做这件事的想法,并研究我的答案中链接的主题。 – Gordon

+0

我的设置有什么问题? 我看着nginx,我不认为它提供了任何SSO功能,它只是一个反向代理到apache,并作为一个Web服务器,仅此而已。 – user962449