Php https网站的某些部分

Php https网站的某些部分,php,apache,url,https,Php,Apache,Url,Https,这是我第一次在我的服务器上使用这个https,我想知道我将如何做到这一点 我不想让我的网站完全使用httpshttps,只是其中的一部分。比如说: https://mysite.com/register https://mysite.com/login https://mysite.com/user (以及/user之后的其他部分) 我想让浏览器强制执行的链接以外的其他链接仅使用http 我需要知道的最佳方法或实践是什么?好的,https的开销不是很小,但是如果在某些事情上使用SSL真的很重

这是我第一次在我的服务器上使用这个
https
,我想知道我将如何做到这一点

我不想让我的网站完全使用https
https
,只是其中的一部分。比如说:

  • https://mysite.com/register
  • https://mysite.com/login
  • https://mysite.com/user (以及/user之后的其他部分)
我想让浏览器强制执行的链接以外的其他链接仅使用
http


我需要知道的最佳方法或实践是什么?

好的,https的开销不是很小,但是如果在某些事情上使用SSL真的很重要,我建议只使用SSL。否则,浏览器会向新手抛出令人困惑的错误,有些东西是安全的,有些东西是不安全的。此外,如果您不小心在错误的时刻在SSL和非SSL之间切换,可能会暴露您可能不想暴露的用户数据

简言之,保持它的一致性将使头痛降到最低


我相信有人可以在SSL的开销上施加影响

好的,https的开销并不小,但是如果在某些事情上使用SSL真的很重要,我建议只使用SSL。否则,浏览器会向新手抛出令人困惑的错误,有些东西是安全的,有些东西是不安全的。此外,如果您不小心在错误的时刻在SSL和非SSL之间切换,可能会暴露您可能不想暴露的用户数据

简言之,保持它的一致性将使头痛降到最低


我相信有人可以在SSL的开销上施加影响

您的.htaccess中类似的内容可能会解决您的问题:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} ^/register|/login|/user$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/register|/login|/user$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

在.htaccess中类似这样的内容可能会解决您的问题:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} ^/register|/login|/user$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/register|/login|/user$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

我认为HTTPS会更好,因为即使用户登录,您仍在验证每次页面刷新时的用户数据,除非您没有处理登录系统。我认为HTTPS会更好,因为即使用户登录,您仍在验证每次页面刷新时的用户数据,除非你不是在处理登录系统,我同意你的看法。然而,老板不想在整个站点上使用SSL,这就解释了为什么。“正如他们所说”的原因是该网站被某个网络屏蔽。我现在不知道该怎么办,我同意你的看法。然而,老板不想在整个站点上使用SSL,这就解释了为什么。“正如他们所说”的原因是该网站被某个网络屏蔽。我现在不知道该怎么办。同意-你可以使用重写引擎,但要小心。如果写错了,你就会遇到我上面提到的问题。由于他必须使用部分HTTPS,我想这是一个有效的答案。你完全正确,此外,在某些浏览器(特别是IE8)中出现安全弹出窗口的问题,以防某些资产未使用ssl提供服务(这不是重写规则所涵盖的同一域资产的问题,而是远程资产的问题).同意-您可以使用重写引擎,但要小心。如果写错了,你就会遇到我上面提到的问题。由于他必须使用部分HTTPS,我想这是一个有效的答案。你完全正确,此外,在某些浏览器(特别是IE8)中出现安全弹出窗口的问题,以防某些资产未使用ssl提供服务(这不是重写规则所涵盖的同一域资产的问题,而是远程资产的问题)。