gpt4 book ai didi

php - 在 cakephp 2.4.6 中,只有两个页面将 HTTP 重定向到 HTTPS,最好的方法是 ht-access 或 Cakephp Security Companent

转载 作者:太空宇宙 更新时间:2023-11-03 15:16:59 24 4
gpt4 key购买 nike

我想将两个 URL 从 HTTP 重定向到 HTTPS,在它们重定向到安全 URL 之后,如果它们再次访问其他页面,它将再次重定向到不安全的页面。

在 Stackoverflow 中检查了这么多示例后,我很困惑哪一个是最好的方法来做到这一点 ht-access 或 Cakephp 自己的安全组件。

我有什么

http://login.mydomain.com/Homes/index (HTTP)

http://login.mydomain.com/Homes/dashboard (HTTP)

http://login.mydomain.com/Resources/index (HTTP)

http://login.mydomain.com/Resources/add (HTTP)

我想要什么

https://login.mydomain.com/Homes/index (HTTPS)

http://login.mydomain.com/Homes/dashboard (HTTP)

https://login.mydomain.com/Resources/index (HTTPS)

http://login.mydomain.com/Resources/add (HTTP)

所以如果我访问http://login.mydomain.com/Homes/index它将被重新指定以保护索引页面 https://login.mydomain.com/Homes/index如果我从安全索引页面进入仪表板页面,它将再次转到非安全仪表板 URL http://login.mydomain.com/Homes/dashboard (HTTP)

到目前为止我尝试了什么

ht-访问代码

# 在其他页面添加SSL

RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} Homes/index|Resources/index
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$ [NC]
RewriteRule ^(.*)$ https://%2/$1 [R=301,L,QSA]

移除其他页面上的 SSL

RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} Homes/index|Resources/index
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$ [NC]
RewriteRule ^(.*)$ http://www.%2/$1 [R=301,L,QSA]

不工作给我 500 服务器错误

也用过这个例子

Redirect HTTP to HTTPS for one page

但是无论我获取所有页面 HTTPS 还是获取没有 HTTPS 的页面都没有效果,但不是我想要的方式。

任何帮助将不胜感激

谢谢

最佳答案

在 Cake 中处理这个问题的最简单方法是使用 Security component .您可以使用其 requireSecure() 方法在 Controller 的 beforeFilter() 中设置需要 SSL 安全请求的操作:-

class ResourcesController extends AppController {
public $components = array('Security');

public function beforeFilter() {
parent::beforeFilter();
$this->Security->requireSecure('index');
}
}

使用它你不需要改变 .htaccess 中的东西,因为 Cake 会为你处理重定向。

关于php - 在 cakephp 2.4.6 中,只有两个页面将 HTTP 重定向到 HTTPS,最好的方法是 ht-access 或 Cakephp Security Companent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31265337/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com