如果我使用php获得SSL认证,我如何为特定页面启用https


How do I enable https for particular pages if I got SSL certification using php

我的电子商务网站已获得SSL认证。我需要为某些特定页面启用https://。

有人能帮忙吗?

打开includes/configure.php并将ENABLE_SSL设置为TRUE

作为一个更通用的解决方案,如果您正在使用Apache。。。

if ( ! isset($_SERVER['https']) OR $_SERVER['https'] != 'On') {
    header('Location: https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
}

要访问某个页面,只需要使用HTTPS协议进行调用,例如https://www.example.com。这是最简单的部分:-)。

你会遇到的一个问题是,每个安全页面都必须确保自己是用这个协议独占调用的。在我看来,最好在.htaccess文件中以通用的方式实现,所以您不必考虑在每个页面中实现它。一个例子:

http://www.martinstoeckli.ch/php/php.html#ssl_switching

这导致会话cookie出现另一个问题。对于不安全的HTTP页面,cookie将不加密发送,攻击者可以劫持cookie。在安全页面和不安全页面之间切换会使您的会话易受攻击。为了防止这种情况,你有两种可能性:

  1. 使用HTTPS保护您的整个网站。这似乎有点过头了,但会让你的生活更轻松,对当今的服务器来说应该不会成为大问题
  2. 使用第二个cookie保护您的安全页面,并使您的会话cookie不安全。如何做到这一点的示例可以在这里找到:http://www.martinstoeckli.ch/php/php.html#ssl_nomim_cookie

希望这能给你一些想法。