Http 具有安全分区、会话和相关问题的web应用程序

Http 具有安全分区、会话和相关问题的web应用程序,http,session,ssl,https,Http,Session,Ssl,Https,我想创建一个web应用程序,其中管理/签出部分是安全的。假设我已经为subdomain.mydomain.com设置了SSL,我想确保所有这些绝密的东西;像签出页面和管理部分是安全转移。我的应用程序可以按如下结构吗 subdomain.mydomain.com adminSectionFolder adminPage1.php adminPage2.php checkoutPagesFolder checkoutPage1.php

我想创建一个web应用程序,其中管理/签出部分是安全的。假设我已经为subdomain.mydomain.com设置了SSL,我想确保所有这些绝密的东西;像签出页面和管理部分是安全转移。我的应用程序可以按如下结构吗

subdomain.mydomain.com
    adminSectionFolder
        adminPage1.php
        adminPage2.php
    checkoutPagesFolder
        checkoutPage1.php
        checkoutPage2.php
        checkoutPage3.php
    homepage.php
    loginPage.php
    someOtherPage.php
    someNonSecureFolder
        nonSecurePage1.php
        nonSecurePage2.php
        nonSecurePage3.php
    imagesFolder
        image1.jpg
        image2.jpg
        image3.jpg
用户可以通过http访问我的web应用程序,因为主页和类似应用程序不需要SSL。签出/管理页面必须通过https访问,尽管我会确保通过.htaccess重定向。我还想在网站的每一页上都有登录表单,包括不安全的页面。现在我的问题是:

如果我在非安全页面上有表单,例如,该表单将数据发送到https://subdomain.mydomain.com/loginPage.php,发送的数据是否加密,就好像是从中发送的一样?我知道用户不会看到挂锁,但浏览器仍然应该加密它,对吗? 编辑:我的道歉。。上面我用粗体字输入了http,但意思是https,这是我的错

2.如果在安全页面loginPage.php或任何其他通过https访问的实例上,我创建了会话,会话ID将被分配,如果是我的web应用程序。类似于登录用户的用户名。我是否能够从到访问这些会话变量,例如显示问候语?若会话ID存储在cookies中,那个么我想这将是一个麻烦,但有人能澄清应该如何做吗?通过SSL发送用户名和密码似乎很重要

3.关于上述问题,我认为。。通过SSL对登录进行安全保护,以便安全地传输UsenName/password,然后在不使用SSL的情况下传输会话ID,这真的有意义吗?我的意思是,如果有人发现用户名和密码正在被传输,或者发现会话ID,情况真的会一样吗?请让我知道我在这里是否有意义,因为我觉得我错过了一些重要的事情

编辑:我想出了一个主意,但请再次让我知道这是否可行。有了以上内容,所以假设http和https之间的共享会话与通过普通http而不是https登录用户一样安全,我猜在所有不安全的页面上,如主页等。我可以检查用户是否已经登录,如果是,则从php重定向到同一页面的https版本。所以用户从homepage.php填写登录表单,通过ssl的详细信息可能会发送到后端。尝试访问脚本将始终检查会话是否已创建,如果已创建,则将用户重定向到此页面的https版本。这样行吗

4.为避免浏览器弹出消息,此页面包含不安全的项目。。。我到css、图像和所有资产的链接,例如,如果是绝对so/images/image1.jpg或相对so../images/image1.jpg?我想其中一个必须要起作用:


哇,这是一篇很长的文章,如果你能做到这一点,谢谢你的耐心和任何答案:哦,yeh和我在共享主机上使用php/apache

如果SSL终端在Web服务器上,然后,您可能需要为安全部分和非安全部分分别配置文档根-虽然您可以指定这两个部分引用相同的物理目录,但在这些部分之间切换时,您会遇到麻烦。类似地,如果您的SSL终止在Web服务器之前,您就没有系统地将安全部分和非安全部分分开

将安全部分和非安全部分分成不同的树要整洁得多——请注意,如果安全页面上有非SSL内容,用户将收到警告消息

关于你的具体问题

否-数据是否加密取决于数据的目的地,而不是来源地

是-但仅当您未设置secure_only cookie标志时-请注意,如果您遵循上面的建议,还需要确保cookie路径设置为“/”

处理用户名和密码的页面必须是安全的。如果没有,那么您将公开您的客户端身份验证详细信息大多数人对他们访问的所有站点使用相同的密码,任何运行网络嗅探器或代理的人都可以访问

你的编辑让我有点困惑。SSL计算成本高且速度慢-因此您希望尽量减少其使用-但您需要平衡这一点与您的用户对安全性的感知-不要一直从SSL切换到非SSL,尽管用户在由非SSL提供的页面上输入其详细信息非常安全,而非SSL会发送到SSL页面,用户可能不理解这种区别

请看上面我回答的第一部分。
C.

在问题1中,我键入了http,但意思是发送到https。。对不起,我想你的回答是肯定的: