我的CakePHP项目面临一个问题。我已经在我的项目中安装了SSL,它早些时候运行正常。但问题开始于谷歌chrome升级到86 stable
后的所有表单。它开始在提交任何表单时发出不安全的警告消息,即使是登录表单。这只发生在谷歌chrome中。
我对此做了一些研究,发现更新后的谷歌chrome浏览器为用户增加了另一层安全性。然后我做了一些研究来解决这个问题,我唯一得到的就是在我的网站标题中添加<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
。我这样做了,但结果还是一样的。我还得到了一些检查混合内容问题的建议,也需要检查是否有任何通过http加载的内容。我已经检查过了,注意到从http
加载。
另一件事是,我的网站从https://www
运行,而不安全警告显示url
变成http://www
使用绝对路径。
https://something.com/foo
类似的东西被张贴在这里https://bugs.chromium.org/p/chromium/issues/detail?id=1158169#c23
尝试:
$this->redirect("/action/dosomething");
↓
$this->redirect("//" . $_SERVER["HTTP_HOST"] . "/action/dosomething");
尝试像一样强制https@.htaccess
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
或者创建中间件来处理请求(如果host==='http',则重定向到https(
- 创建中间件
- 如何与请求交互