htaccess — перенаправление HTTP на HTTPS Apache не работает при использовании с другими перенаправлениями
Меня попросили помочь с установкой OpenCart 1.5.6.1 на виртуальном хостинге с некоторыми требованиями к перенаправлению.
Некоторые из переадресаций уже присутствуют, и я не уверен, что они необходимы для OpenCart.
Новое требование — перенаправление с HTTP на HTTPS.
Когда я добавляю команду для перенаправления с HTTP на HTTPS, браузер сообщает об ошибке, что перенаправления работают неправильно. Эта команда раньше всегда работала на других сайтах. Я предполагаю, что существует конфликт с одной или несколькими другими командами перенаправления. 9(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Почему это не работает и как заставить все эти требования перенаправления работать вместе?
Дополнительная запрашиваемая информация:
Результат curl --head http://example.co.uk
HTTP/1. 1 301 Перемещено навсегда дата: пн, 29 ноября 2021 г., 18:17:10 по Гринвичу сервер: Apache/2.4.51 (Unix) местоположение: https://www.example.co.uk/ тип содержимого: текст/html; кодировка = iso-8859-1
Результат curl --head http://www.example.co.uk
HTTP/1.1 301 Перемещено навсегда дата: пн, 29 ноября 2021 г., 19:20:47 по Гринвичу сервер: Apache/2.4.51 (Unix) местоположение: https://www.example.co.uk/ тип содержимого: текст/html; кодировка = iso-8859-1
Результатом curl --head https://www.example.co.uk
является
HTTP/2 301 дата: пн, 29 ноября 2021 г., 19:20:54 по Гринвичу сервер: Apache/2.4.51 (Unix) местоположение: https://www.example.co.uk/ тип содержимого: текст/html; кодировка = iso-8859-1
Я полагаю, здесь возникает петля перенаправления.
Вывод print_r($_SERVER, true)
Индексы HTTP_:
[HTTPS] => on [HTTP_USER_AGENT] => Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:94.0) Gecko/20100101 Firefox/94. 0 [HTTP_ACCEPT] => текст/html,приложение/xhtml+xml,приложение/xml;q=0.9,изображение/avif,изображение/webp,*/*;q=0.8 [HTTP_ACCEPT_LANGUAGE] => en-GB,en;q=0.5 [HTTP_DNT] => 1 [HTTP_ACCEPT_ENCODING] => gzip, deflate, br [HTTP_UPGRADE_INSECURE_REQUESTS] => 1 [HTTP_SEC_FETCH_DEST] => документ [HTTP_SEC_FETCH_MODE] => перейти [HTTP_SEC_FETCH_SITE] => нет [HTTP_SEC_FETCH_USER] => ?1 [HTTP_CACHE_CONTROL] => максимальный возраст = 0 [HTTP_TE] => трейлеры [HTTP_HOST] => www.example.co.uk (изменено) [HTTP_COOKIE] => язык=en; валюта = фунт стерлингов; PHPSESSID=(удалено) [HTTP_X_PROTO] => SSL [HTTP_CONNECTION] => закрыть
security — пользователи OpenCart, немедленно переключитесь на OpenCart-CE
oss-security — пользователи OpenCart, немедленно переключитесь на OpenCart-CE
|
|
[<предыдущая] [следующая>] [день] [месяц] [год] [список]
Дата: Вт, 19 января 2016 г. 14:47:10 -05:00
От кого: Скотт Арцишевски
Кому: [email protected], [email protected]
Тема: Пользователи OpenCart, немедленно переключитесь на OpenCart-CE
Эта фиксация была сделана для Community Edition OpenCart 2 апреля.
2014.
https://github.com/opencart-ce/opencart-ce/commit/5bc5f7a816aab17f1718e0c09323c74cd7167f35#diff-d0709af23c0fbe35295ee9a1ceb9fd79
Как видно из сообщения коммита, оно было предназначено для предотвращения
атаки включения.
19 января, 2016 и собственно OpenCart все еще делает это неправильно.
https://github.com/opencart/opencart/blob/0b8ff2ef74309dd2e1797af762364dab2eef761b/upload/system/engine/action.php#L7
Эта строка пытается предотвратить атаки обхода каталога с помощью
вычищая ../, но, к сожалению, это довольно глупо.
https://3v4l.org/tMmNK
Это также не защищает от инъекций байтов NUL.
Это нулевой день, потому что Дэниел Керр обычно просто поджигает безопасность.
исследователей, и мне не хотелось снова подвергать себя этому. К
остроумие:
* https://github.com/opencart/opencart/issues/1269* https://github.com/opencart/opencart/issues/1279
* https://github.com/opencart/opencart/issues/1534
* https://github.com/opencart/opencart/issues/1594
* https://github.com/opencart/opencart/issues/3721
Я уверен, что пропустил довольно много случаев, когда он поджигал людей, пытающихся
помогите ему защитить свой проект бесплатно. Кажется, он тоже никогда не учится.
Сопровождающий OpenCart-CE, напротив, более гостеприимен по отношению к
исследователи безопасности. Таким образом, в дополнение к уже установленному исправлению,
их взаимопонимание с сообществом означает использование версии сообщества.
вероятно, сделает вашу систему более безопасной, чем использование OpenCart.
В заключение я рекомендую всем, кто использует OpenCart, перейти на OpenCart-CE.
сегодня и любой, кто занимается тестированием на проникновение, прочитает эту прекрасную статью
Кейт Макан о заказе RFI по электронной почте:
http://blog.