使用SSL域登录到非SSL域上的Web应用程序


Using SSL domain for login to webapp on non-ssl domain

我正在构建这个网络应用程序,用户可以在其中使用html和javascript构建自己的在线演示(这些上传将在AWS S3上,而不是在服务器本身上)。他们将域名连接到应用程序。我有以下设置,但想知道这是否是安全性和/或风险方面最安全的设置,感谢您的帮助!

全局设置

  1. 当用户从非sl域登录到管理员时(http://userdomain.com),loginform将凭据直接发布到SSL登录域(https://logindomain.com)

  2. 在loginmain.com上进行验证,成功后将启动一个新的PHP会话。会话仅对userdomain.com有效。session_id也保存在此用户帐户的数据库中。

  3. 然后,此session_id通过$_GET(双向加密)发送到userdomain.com

  4. 添加userdomain.com,发送的session_id将验证为数据库中的用户帐户,如果确定,则基于此session_id启动新会话。新会话完成后,将在数据库中重新生成并更新session_id。此会话在有限的时间内有效(就会话超时而言,但也在数据库中)

  5. 然后用户被转发到应用程序(非ssl),因为他在中被记录

  6. 在每个页面上,都会根据session_id和有效时间窗口向数据库验证用户会话。

服务器不是共享主机设置,因此没有其他虚拟主机共享会话数据。

这个登录设置安全吗?或者如何使它更安全?

谢谢!干杯

gr。Dennis

当用户从非sl域(http://userdomain.com)登录到管理员时,登录信息会将凭据直接发布到SSL登录域(https://logindomain.com

这表明它通过HTTP提供的表单。因此,它可以被拦截和编辑,以便攻击者捕获凭据。这不安全。

然后用户被转发到应用程序(非ssl),因为他在中被记录

任何包含(或将包含)需要安全的数据的页面都应通过SSL发送。一旦用户登录,就不应该离开SSL,这样做会使您面临Firesheep式的攻击。