Zastanawiam się, w jaki sposób magento określa, która strona powinna być bezpieczna, a która strona niezabezpieczona.
Z tego, co rozumiem, magento sprawia, że strona kasy i strona logowania są domyślnie tak bezpieczne, że mogę zabezpieczyć inne strony, podając je w ścieżce konfiguracji frontend/secure_url/....
poprzez config.xml mojego modułu
Konfiguracja po stronie administratora wydaje się być w porządku. SSL jest włączony zarówno w interfejsie użytkownika, jak i w interfejsie użytkownika. Backend jest w pełni za pośrednictwem https. W interfejsie większość stron działa poprawnie pod http, w tym strona główna, a strony kasy i strony logowania są przekierowywane do https zgodnie z oczekiwaniami.
Ale jest też kilka innych adresów URL przekierowywanych do https, które spodziewałem się pozostać na http, w tym kontroler / akcja niestandardowego modułu.
Potrzebuję wskazówek, jak to debugować? Czy jest jakaś inna konfiguracja, której mogę użyć, aby zapobiec ich przekierowaniu?
Odpowiedzi:
Jest tylko funkcja do tego, nazywana
shouldUrlBeSecure
zlokalizowana wapp/code/core/Mage/Core/Model/Config.php
linii1477
.Oto pełna funkcja:
Aby zobaczyć, które adresy URL powinny być bezpieczne, możesz dodać prosty
Mage::log($secureUrls)
element wif
instrukcji. Tak wyglądał mój wpis w dzienniku:Teraz, aby dowiedzieć się, w jaki sposób Magento przełącza się
HTTP
naHTTPS
, myślę , że najprawdopodobniej zanurzyłbyś się w frameworku Zendlib
wewnątrz,lib/Zend/Http/*
ponieważ zawiera on pliki najbardziej interesujące. Cóż, w każdym razie mam nadzieję, że to pomogło. Powodzenia!źródło
Jeśli chcesz stosować do
secure url
zaany other modules
to trzeba pewne zmiany wconfig.xml
rzeczonej modułów .. Pierwszy na frontend używane tagiA jeśli chcesz uzyskać adres URL produktu, zmień go
$this->getUrl('productfaq/index/index', array('_secure'=>true))
;Moja ścieżka rozszerzenia
\app\code\local\Amit\Productfaq\etc.
W config.xml należy zmienić poniżej
źródło