Как решить небезопасное предупреждение после обновления Google Chrome до 86

Я столкнулся с одной проблемой в моем проекте CakePHP. У меня установлен SSL в моем проекте, и раньше он работал правильно. Но проблема началась со всеми формами после того, как гугл хром обновился до 86 stable. Он начинает выдавать незащищенное предупреждающее сообщение при отправке любой формы, даже для формы входа. Это происходит только в гугл хром.

Я провел некоторое исследование по этому вопросу и увидел, что обновленный браузер Google Chrome добавил еще один уровень безопасности для пользователей. А потом я провел небольшое исследование по решению проблемы, и единственное, что у меня получилось, это добавить <meta http-equiv = "Content-Security-Policy" content = "upgrade-insecure-requests"> в шапку моего сайта. Я сделал это, но все равно результат тот же. Я также получил предложение проверить проблему со смешанным содержимым, а также проверить, загружено ли что-либо через http. Я проверил и заметил загрузку из http.

Другое дело, что мой веб-сайт работает с https://www, и, хотя предупреждение о небезопасности показывает, что url становится http://www

🤔 А знаете ли вы, что...
С помощью CakePHP можно создавать приложения с авторизацией и управлением пользователями.


536
2

Ответы:

Попробуйте заставить 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");

Интересные вопросы для изучения