如何轻松创建HTTPS登录表单?

时间:2011-12-12 22:14:57

标签: php ssl https

我是网络编程的新手。我创建了一个简单的登录表单(使用php)。现在我想把这个转换为HTTPS(带SSL)登录表单。我该怎么做才能实现这个目标?

2 个答案:

答案 0 :(得分:5)

获取SSL证书。在服务器上运行HTTPS(与托管公司合作使其运行)后,您可以使用类似于以下内容的代码强制在PHP中建立HTTPS连接。 .htaccess是另一种选择,在别处提到。

<?

function current_protocol()
{
    $protocol = 'http';

    if ( array_key_exists( 'HTTPS', $_SERVER ) && $_SERVER['HTTPS'] === 'on' )
    {
        $protocol = 'https';
    }

    return $protocol;
}
//------------------------------------------------------------------------
function current_has_ssl()
{
    return current_protocol() == 'https';
}
//------------------------------------------------------------------------
function force_https()
{
    if ( current_has_ssl() == false )
    {
        header( "HTTP/1.1 301 Moved Permanently" );
        header( 'Location: https://example.com' );
        exit();
    }
}

//------------------------------------------------------------------------
// Usage:

force_https(); // at the top of a script before any output.

答案 1 :(得分:4)

如果尚未启用,则需要enable SS L. 如果你打算在生产中运行它,你还需要购买和 安装SSL证书而不是自签名证书。

如果启用了SSL,则使用https而不是http运行您的表单,如上面的评论所说

要强制用户使用SSL版本,请在.htaccess文件中添加以下内容

RewriteEngine On
Rewritebase /

RewriteCond %{HTTPS} off
RewriteRule ^login\.php https://yourdomain.com/login.php [L,R=301]