繁体   English   中英

https上的Login.php包含在http页面上

[英]Login.php on https include on http page

我只是将我网站上的帐户功能更改为SSL。

现在,http网站已在正常的http网站和https之间拆分,位于一个名为ssl.website的子域中。

仅在我的网站上使用http,在使用php会话登录后,我使用的PHP脚本显示了帐户链接和选项。 现在,它仅显示ssl.website上的内容,并且当我转到http时,即使它们仍在https上登录,登录屏幕也会更改为“登录”选项。

请参阅下面的我的PHP代码。

我怎样才能解决这个问题。 是否可以在所有http页面上包含https login.php文件,以便它在登录后读取会话? 还是应该解决这个问题? 我尝试了Google,但是没有任何点击显示出与我相同的问题。

    <div id="right_column">
    <?php if(!isset($session_account)){ ?>
        <div id="accountcolumn">
        <ul>
        <li>
        <h3>Account</h3>
        <form method="post" action="https://ssl.website.com/login">
        <table>
                    <tr>
        <td>&nbsp;</td>
        </tr>
                    <tr>
        <td>E-mail:</td>
        </tr>
        <tr>
        <td><input type="text" name="email" style="width:140px"/></td>
        </tr>
        <tr>
        <td>Password:</td>
        </tr>
        <tr>
        <td><input type="password" name="password" style="width:140px" /></td>
        </tr>
                    <tr>
        <td><input type="submit" name="login" value="Login" /></td>
        </tr>
        </table>
                </form>
                </li>
        </ul>
    </div>
    <?php }else{ ?> 
    <div id="accountcolumn_login">
        <ul>
        <li>
        <h3>Account</h3>
        <form method="post" action="<?= $config['url']; ?>client/login">            
        <ul>
                    <li><a href="https://ssl.website.com/overview">Overview</a></li>
                <li><a href="https://ssl.website.com/shoppingbasket">Change account</a></li>
    <li><a href="https://ssl.website.com/password">Change password</a></li>
                </ul>
        </li>
        </ul>
    </div>
    <?php } ?>

您要么必须使用Cookie,要么使您的PHP-SESSION“传播”到子域中,如下所示:

php.ini:

session.cookie_domain = ".website.com"

PHP:

ini_set('session.cookie_domain', '.website.com' );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM