使用HTTPS而不是HTTP

时间:2011-12-12 15:04:14

标签: http ssl https

我有一个用户必须登录的网站。我想使用HTTPS,因此请与服务器建立安全的加密连接,以检查用户名和密码。

目前在我的服务器上我有一个名为httpdocs的文件夹,这是我的网站存储的地方,我还有一个名为httpsdocs的文件夹。

现在我说我的网站存储在httpdocs中,所以逻辑上我会去http://website.com

但是我发现如果我去https://website.com我可以安全地连接到存储在httpdocs中的页面。

无论如何,我的问题是,每当我转到另一个链接时,我都会松开安全连接(URL会回到http://)那么我如何保证它的安全呢?我是否必须在href中使用完整的URL,因为这看起来有点蹩脚,而不仅仅是使用href = page2.php。

我是网站开发的新领域,但如果能帮到你,我在开发方面经验丰富。

非常感谢帮助。

如果有人知道有什么好的话,一些基本的教程或阅读材料会很棒吗?

再次感谢。

3 个答案:

答案 0 :(得分:2)

请勿在网址中使用http://foo.com/path,而是使用//foo.com/path(或者,更好的是,如果您停留在同一台服务器上,请使用/path - 这肯定有效)。做完整的网址会带来冗余和脆弱。避免它。

答案 1 :(得分:2)

要在评论中回答您的问题,您应该使用mod_rewrite(假设已启用):

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [R,L]

将任何网页发送到https。

答案 2 :(得分:0)

查看 HTTP严格传输安全(HSTS)https://www.owasp.org/index.php/HTTP_Strict_Transport_Security

基本上,您可以通过将此标头添加到安全网站的配置来强制浏览器(unless it's IE<12)始终使用HTTPS:

Header set Strict-Transport-Security "max-age=31536000; includeSubDomains"

这也可以与针对非安全/ HTTP站点配置的301(PERMANENT)重定向结合使用,也可以与上述引用站点上的outlined结合使用。

此外/或者,您可以在&#34; website.com&#34;上设置base href。通过在<head>标记的顶部添加类似内容的页面:

<base href="https://website.com/">

这将设置页面上的所有相对网址(包括链接,样式表,脚本,图像等),以使用HTTPS网站的根目录作为基础。但是,根据站点的结构和大小,您需要验证每个页面的基本href和/或页面中的URL是否包含任何必要的路径信息(即子目录)。否则http://website.com/some/directory/page.html上的链接指向&#34; otherpage.html&#34;将指向http://website.com/otherpage.html而不是http://website.com/some/directory/otherpage.html。在这种情况下,您需要&#34; http://website.com/some/directory/&#34;的基本href;或链接中的相对网址应指向&#34; /some/directory/page.html"或&#34; some / directory / page.html&#34; (在这种情况下不需要斜线)。