使用HTTPS而不是HTTP
我有一个用户必须登录的网站。我想要使用HTTPS,因此请与服务器建立安全的加密连接以检查用户名和密码。使用HTTPS而不是HTTP
目前在我的服务器上我有一个名为httpdocs的文件夹,这是我的网站存储的地方,我也有一个名为httpsdocs的文件夹。现在
正如我所说我的网站被储存于httpdocs所以逻辑上我会去http://website.com
但我发现,如果我去https://website.com我得到一个安全的连接到存储于httpdocs页面。
无论如何,我的问题是,每当我去另一个链接我松开安全连接(URL返回到http://)那么我如何保持它的一切安全?我将不得不在href中使用完整的URL,因为这似乎有点跛脚而不是使用href = page2.php。
我是新的网站开发领域,但我有经验的开发,如果这可以帮助你。
非常感谢帮助。
如果有人知道什么是好的,一些基本的教程或阅读材料会很棒吗?
再次感谢。
要回答你的问题的意见,你应该使用mod_rewrite(假设其启用):
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [R,L]
,将任何网页发送到https。
请不要在网址中使用http://foo.com/path
,而应该使用//foo.com/path
(或者,更好的方法是,如果您停留在同一台服务器上,请使用/path
- 它确实有效)。做完整的网址会带来冗余和脆弱。躲开它。
退房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"
这也可以与301(永久)重定向用于非安全/ HTTP站点的配置,也可以在上述引用的站点上使用outlined。
<base href="https://website.com/">
这将设置所有相对URL的网页上:
此外/或者,您也可以通过添加像这样朝<head>
标签的顶部设置你的“website.com”页面base href (包括链接,样式表,脚本,图像等)以HTTPS网站的根作为其基础。但是,根据网站的结构和大小,您需要针对每个页面验证其基础href和/或页面内的网址是否包含任何必要的路径信息(即子目录)。否则,指向“otherpage.html”的http://website.com/some/directory/page.html上的链接将指向http://website.com/otherpage.html而不是http://website.com/some/directory/otherpage.html。在这种情况下,您希望基础href为“http://website.com/some/directory/”,或链接中的相关url应指向“/some/directory/page.html”或“some/directory/page.html”(不需要斜杠这个案例)。
您可能正在使用绝对网址或在您的网站中使用变量(无论写入哪种语言),该变量都包含您网站的“基本网址”。您需要发布一些代码/ html或可能的链接到您的网站以获得更好的答案。 – *er
我没有绝对的网址,我保持清楚。这就是我的问题,如果我绝对使用https://mysite.com/page3.php这将是安全的,但我不知道如何做到这一点相对链接。有什么服务器端,我可以改变,像价值或类似的东西?我在我的服务器上使用CentOS – ragebunny
不,使用'href =“page3.php”'会使用你所使用的任何协议 - 这可能是一个.htaccess问题吗? – *er