Я столкнулся с одной проблемой в моем проекте CakePHP. У меня установлен SSL в моем проекте, и раньше он работал правильно. Но проблема началась со всеми формами после того, как гугл хром обновился до 86 stable
. Он начинает выдавать незащищенное предупреждающее сообщение при отправке любой формы, даже для формы входа. Это происходит только в гугл хром.
Я провел некоторое исследование по этому вопросу и увидел, что обновленный браузер Google Chrome добавил еще один уровень безопасности для пользователей. А потом я провел небольшое исследование по решению проблемы, и единственное, что у меня получилось, это добавить <meta http-equiv = "Content-Security-Policy" content = "upgrade-insecure-requests">
в шапку моего сайта. Я сделал это, но все равно результат тот же.
Я также получил предложение проверить проблему со смешанным содержимым, а также проверить, загружено ли что-либо через http. Я проверил и заметил загрузку из http
.
Другое дело, что мой веб-сайт работает с https://www
, и, хотя предупреждение о небезопасности показывает, что url
становится http://www
🤔 А знаете ли вы, что...
С помощью CakePHP можно создавать приложения с авторизацией и управлением пользователями.
Попробуйте заставить https @ .htaccess как
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Или создайте промежуточное ПО для обработки запроса (если host === 'http', перенаправьте на https)
Используйте абсолютный путь.
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");