Nowa aktualizacja zabezpieczeń Magento 1, rozwiązująca 16 problemów APPSEC: https://magento.com/security/patches/supee-9767
Siedem luk w zabezpieczeniach ma ocenę 8,0 lub wyższą pod kątem ważności CVSSv3 i są one wykorzystywane na wolności, więc jest to krytyczna łatka. Witryny mogą stosować SUPEE-9767 lub aktualizację do nowej wersji CE 1.9.3.3 / EE 1.14.3.3.
Jakie są typowe problemy lub pułapki, na które należy zwrócić uwagę przy stosowaniu SUPEE-9767?
AKTUALIZACJA 2017-07-12:
Magento wydało SUPEE-9767 V2 i CE 1.9.3.4, aby rozwiązać wiele problemów z pierwszej łatki. Jeśli zastosowałeś V1, powinieneś cofnąć, a następnie zastosować V2. Jeśli jeszcze nie załatałeś, po prostu zastosuj V2, a większość poruszonych tutaj problemów nie będzie miała znaczenia.
magento-1
security
patches
supee-9767
Ryan Hoerr
źródło
źródło
RewriteRule ^/?(index.phprss|index.php/rss/catalog|index.php/rss/order|rss/catalog|rss/order).*$ /no-route [R=301,L,NC]
Odpowiedzi:
Oto mój przegląd łatki po wkopaniu w nią
OSZCZĘDZANIE CZASU : Experius zapewnia pomocnika łatek, który pomaga znaleźć pliki w niestandardowych motywach, niestandardowych modułach lub lokalnych nadpisywaniach, które również mogą wymagać łatania ręcznego , można go znaleźć tutaj: https://github.com/experius/Magento- 1-Experius-Patch-Helper # magento
Klucze formularza zamówienia
Jak powiedziano w drugim poście, ta łatka dodaje klucze formularzy do następujących formularzy:
Formularz koszyka wysyłkowego:
Formularz płatności fakturowania wielostanowiskowego:
Formularz zamówienia wysyłki Multishipping:
Formularz płatności adresów multipippingowych:
Formularz płatności faktury:
Formularz zamówienia wysyłki:
Formularz płatności:
Formularz zamówienia metody wysyłki:
Formularz trwałego rozliczenia:
Ponadto zaktualizowano następujące pliki JS, aby były zgodne z tą zmianą:
js/varien/payment.js
skin/frontend/base/default/js/opcheckout.js
Co robić:
Jeśli korzystasz z niestandardowych wersji tych szablonów, musisz je zaktualizować, dodając do nich następujący kod:
Jeśli korzystasz z zewnętrznego modułu do kasy, musisz się z nimi skontaktować, aby mogli dostarczyć zaktualizowaną wersję swojego modułu.
Również jeśli masz niestandardowe wersje wcześniej wymienionych plików JS, musisz je również zaktualizować.
OSZCZĘDZAJ SWÓJ CZAS :
Fabian Schmengler napisał fajny mały skrypt, aby zaktualizować wszystkie te rzeczy dla Ciebie, możesz go znaleźć tutaj:
https://gist.github.com/schmengler/c42acc607901a887ef86b4daa7a0445b
WAŻNA UWAGA : sprawdzanie poprawności klucza formularza formularza można zmienić w backendie za pomocą nowego pola konfiguracji w obszarze System> Konfiguracja> Administrator> Bezpieczeństwo> Włącz sprawdzanie klucza formularza przy kasie . TO NIE JEST WŁĄCZONE DOMYŚLNIE, więc musisz włączyć tę funkcję bezpieczeństwa !!! Pamiętaj, że otrzymasz powiadomienie w backend, jeśli nie jest włączone.
Oddzwanianie do przesyłania obrazu
Kontroler galerii obrazów został zaktualizowany, aby dodać wywołanie zwrotne sprawdzania poprawności.
Co robić
Jeśli używasz niestandardowego modułu, który przesyła obraz z kodem, który wygląda następująco:
Zdecydowanie sugeruję zaktualizowanie tego kodu poprzez dodanie następującego fragmentu po nim:
Symlinks
Ta poprawka usuwa pole konfiguracji systemu, które pozwala na dopuszczenie dowiązań symbolicznych szablonu w wewnętrznej bazie danych. Kiedyś było w System> Konfiguracja> Deweloper> Szablon> Zezwalaj na dowiązania symboliczne . Teraz cała sekcja szablonów zniknęła.
Ponadto, to pole jest teraz domyślnie wyłączone przez
app/etc/config.xml
Zabawne jest to, że otrzymasz powiadomienie w backend, jeśli masz włączone pole konfiguracji przed łatką, ale nie będziesz mógł go wyłączyć, gdy pole zniknie.
Jedynym sposobem na to jest uruchomienie następującego zapytania SQL
Wyjaśnienie
Najpierw zdecydowanie zalecamy sprawdzenie tych dwóch postów, które pomogą ci zrozumieć cel tej modyfikacji Symlink:
Ta modyfikacja naprawdę polega na wywoływaniu treści do przesłania (takich jak obrazy) za pomocą dyrektyw szablonów.
Problem związany z dowiązaniami symbolicznymi można wykorzystać tylko w przypadku dostępu administratora, a Magento dodał także trochę więcej ochrony przed przesyłaniem obrazów.
Pamiętaj, że oprócz samego ustawienia są to niektóre zabezpieczenia przed znanym sposobem wykorzystania.
Co robić : jeśli tak jak ja, używasz modmana lub kompozytora z szablonowymi dowiązaniami symbolicznymi, napotkasz pewne problemy. Wciąż próbuję dowiedzieć się, co jest najlepsze do zrobienia, oprócz zajmowania się zapytaniami SQL.
Główny post na ten temat: SUPEE-9767, modman i dowiązania symboliczne
Lista możliwych problemów
Wersja 2 została wydana od czasu tego oryginalnego postu. Nie zapomnij zaktualizować
Robaki
Słowo „potwierdzone” jest używane w przypadku potwierdzonych błędów. Jeśli go nie ma, oznacza to, że może to być błąd, ale nie został jeszcze potwierdzony.
head-simple.phtml
POTWIERDZONYM I NAPRAWIONYM W V2Problemy z przystojniakiem
Pamiętaj, że wszystkie te problemy mogą wynikać z faktu, że zmodyfikowałeś oryginalny plik, aby dokładnie sprawdzić, czy tak nie jest:
Jeśli pliki są różne, musisz zastosować poprawkę do oryginalnego pliku, a następnie ponownie zastosować niestandardowe zmiany w czysty sposób, na przykład:
local.xml
Jeśli pliki nie różnią się, oznacza to, że jest to problem z pozwoleniem lub „błąd” w łatce.
źródło
Problem 1: form_key jest nieprawidłowy przy kasie na stronie
Magento dodaje
form_key
co najwyżej formularze.jeśli tak
using default onepage and using custom theme
, zaczniesz otrzymywać **form_key
problem przy kasie każdego kroku **;powinieneś dodać klucz formularza na
<?php echo $this->getBlockHtml('formkey') ?>
do formowania każdego pliku kroku kasy, jeśli poniższe pliki wychodzą,
app/design/frontend/[Your_Package]/[YOUR_THEME]/template/checkout/onepage/billing.phtml
app/design/frontend/[Your_Package]/[YOUR_THEME]/template/checkout/onepage/payment.phtml
app/design/frontend/[Your_Package]/[YOUR_THEME]/template/checkout/onepage/shipping.phtml
app/design/frontend/[Your_Package]/[YOUR_THEME]/template/checkout/onepage/shipping_method.phtml
jeśli pliki szablonów wywołują z motywu podstawowego , nie stwarza to problemu. Ponieważ łatka automatycznie zaktualizuje te pliki.
Uwaga:
<?php echo $this->getBlockHtml('formkey') ?>
powinien zawsze znajdować się wewnątrz znacznika formularza** Jeśli korzystasz z kasy z wysyłką wielokrotną Magento, musisz to zrobić o
poniżej plików:
Problem 2: problem z form_key do formularza szacowania wysyłki na stronie koszyka:
Dodaj form_key przy szacunkowych kosztach wysyłki na stronie koszyka
Następnie należy dodać klucz formularza
<?php echo $this->getBlockHtml('formkey') ?>
w
app/design/frontend/{Your_Package}/{YOUR_THEME]/template/checkout/cart/shipping.phtml
Problem 3: Błąd Magento przy kasie na stronie opcheckout.js
Jeśli używasz domyślnej kasy na stronie i masz
opcheckout.js
to, sprawdźif (elements[i].name=='payment[method]' || elements[i].name == 'form_key') {
jest dostępny na opcheckout.jsJeśli nie, to wyjdź
z
W przypadku wydania 1, problemu 2, problemu 3 Problem można łatwo rozwiązać za pomocą skryptu @FabianSchmengler w skrypcie add-checkout-form-key.sh . Naprawi to problem z twoimi otwartymi plikami motywów
Problem 4: Niepoprawny klucz formularza po zalogowaniu klienta podczas przepisywania Mage_Customer_Model_Session
Jeśli
Mage_Customer_Model_Session
klasa przepisała lub zadzwoniła zapp/code/local/Mage/Customer/Model/Session.php
wtedy może pojawić się problem z form_key, kiedy ustawiamy klienta na sesję za pomocąsetCustomerAsLoggedIn()
/ lub po ustawieniu klienta na sesji.W takim przypadku musisz zostać dodany
w setCustomerAsLoggedIn () przed wywołaniem
Mage::dispatchEvent('customer_login', array('customer'=>$customer));
Problem 5: Problem z formularzem po wylogowaniu
Po wylogowaniu klienta z sesji może wystąpić problem z sesją, jeśli
Mage_Customer_Model_Session
klasa przepisze lub zadzwoniła zapp/code/local/Mage/Customer/Model/Session.php
W tych samych potrzebach w tym przypadku:
Zalecenie:
Zalecenie 1: Aby rozwiązać problem supee-9767 , możesz użyć poprawki https://github.com/experius/Magento-1-Experius-Patch-Helper
To na razie jedno najlepsze rozwiązanie.
Uwaga : przed zrobieniem tego zdecydowanie zaleca się wykonanie kopii zapasowej plików i bazy danych lub pełnej kopii zapasowej systemu.
Zalecenie 2: Użyj funkcji łaty w swoim ONESTEP CHECKOUT
Wiemy, że łatka supee-9767 dla celów bezpieczeństwa, jeśli używasz ONESTEP CHECKOUT, powinieneś dodać sprawdzanie poprawności form_key w celu ZAPISZ działanie twojego kontrolera transakcji onestep .
Przypuśćmy, że w celu zapisania szczegółów metody wysyłki, Twój pierwszy krok przy kasie ma opcję saveShippingmethod (). Następnie dodaj
Również na Twoim formularzu phtml musisz dodać klucz formularza
<?php echo $this->getBlockHtml('formkey') ?>
na swoim pierwszym etapie realizacji transakcjiNiektóre powiązane linki
https://peterocallaghan.co.uk/2017/06/appsec-1281-dangerous-symlinks/
źródło
Na podstawie mojego pierwszego przejścia podczas przeglądu pliku poprawki ...
admin/security/validate_formkey_checkout
. Po włączeniu formularze płatności są sprawdzane pod kątem obecności klucza formularza. Jeśli pliki szablonów zostaną nadpisane w kompozycji, należy je tam zaktualizować. To ustawienie wydaje się domyślnie wyłączoneapp/etc/config.xml
). Ponadto wydaje się, że możliwość ich zezwolenia została usunięta z konfiguracji administratora. Jeśli jednak Twoja witryna wcześniej wyraźnie włączała dowiązania symboliczne, ustawienie zostanie zapisane w bazie danych, zastępując tę zmianę.źródło
Poniżej
base/default
pliku, którego dotyczy ta poprawka, jeśli te pliki były w Twoim motywie, wprowadź odpowiednie zmianywe wszystkich powyższych
phtml
plikach poniżej formularza dodawana jest linia klucza, więc dodaj tę linię do odpowiedniego pliku phtml.Dla powyższego problemu @fabian utworzył skrypt, który doda klucz formy nawet w pliku motywu
https://gist.github.com/schmengler/c42acc607901a887ef86b4daa7a0445b
po zastosowaniu poprawki bezpieczeństwa, jeśli pojawi się błąd klucza formularza, możesz zastosować tę poprawkę, ponieważ zastosowanie tej poprawki jest takie samo jak łatka bezpieczeństwa
i jedna
base/default
zmiana wJs
plikuwięc jeśli ten
js
plik ładuje się z motywu, wykonaj poniższe czynnościusunąć linię wydmuchu
i dodaj poniżej linii zamiast powyżej
EDYTOWAĆ
A jeśli używasz dowolnego rozszerzenia kasy, które przesłania poniższe pliki, dodaj linię klucza formularza do pliku phtml rozszerzenia kasy.
EDIT2 - problemy
1) Błąd podczas saveBillingAction () lub uzyskanie klucza formularza null lub problem z kluczem formularza: Patch 9767 uzyskiwanie nieprawidłowego klucza formularza
2) Hunk # 1 FAILED at 225. 1 z 1 hunk FAILED - zapisywanie odrzuceń do pliku app / design / frontend / enterprise / default / template / persistent / checkout / onepage / billing.phtml : SUPEE-9767 - Hunk # 1 FAILED at 225. 1 z 1 przystojniaków FAILED
3) zapisywanie odrzuceń w pliku app / code / core / Enterprise / PageCache / Model / Observer.php.rej: SUPEE-9767 BŁĄD: Nie można pomyślnie zastosować / przywrócić poprawki
4) SUPEE-9767, modman i dowiązania symboliczne: SUPEE-9767, modman i dowiązania symboliczne
5) app / design / frontend / rwd / default / layout / page.xml Hunk # 1 FAILED at 36. Hunk # 2 FAILED at 54. 2 z 2 hunks FAILED: SUPEE-9767 Error
6) 1 na 1 przystojniak NIE POWIODŁO - zapisywanie odrzuceń do pliku app / code / core / Mage / Sales / Model / Quote / Item.php: Magento 1.9.2.2 SUPEE-9767 ERROR
7) błąd kasowania onestep (znowu jest to kwestia klucza formularza): SUPEE-9767 Magento CE 1.9.3.3 Kasowanie Onestep nie działa z włączoną funkcją Walidacja klucza formularza przy kasie
8) Kwestia rejestracji klienta w jednym kroku: SUPEE-9767 Patch / CE 1.9.3.3 - Kasa z jedną stroną - Problem z rejestracją klienta
9) app / code / core / Mage / Core / Model / File / Validator / Image.php: Magento SUPEE 9697 1.9.2.2 nie działa w Image.php
źródło
Zauważ, że Symlinks zawsze były domyślnie wyłączone w nowych instalacjach Magento administrator. TAK / NIE wartości konfiguracyjne domyślnie ustawione na „NIE”. Aktualizacja teraz wyraźnie wyłącza dowiązania symboliczne w config.xml i jako dodatkowe zabezpieczenie usuwa również sekcję szablonu z admin-> programisty, która zawierała opcję konfiguracji.
Nie wpłynie to na twoje obecne ustawienia dowiązań symbolicznych, jeśli ręcznie włączysz dowiązania symboliczne przed wersją 1.9.3.2, pozostaną włączone, chociaż ustawienia nie widać już w adminie.
Użytkownicy używający modmana do zarządzania modułami Magento 1.x powinni upewnić się, że nie wyłączają dowiązań symbolicznych, ponieważ spowoduje to wyłączenie modułów modmana.
Odpowiedzialni administratorzy mogą ponownie włączyć sekcję admin dowiązania symbolicznego, szukając zmian różnic w sekcji szablonów w app / code / core / Mage / Core / etc / system.xml i dodając sekcję do pliku system.xml około linii 600. Lub dowiązania symboliczne podwójnego sprawdzania są nadal włączone przy pomocy
n98-magerun.phar config: dump | symp grep
Oto plik różnic dla magento1933 i magento1932, aby pomóc w zidentyfikowaniu zmian w domyślnym motywie, które mogą wpłynąć na twoje niestandardowe / rozszerzone motywy.
diff -r magento1933 magento1932> https://pastebin.com/ADzMBLhr
źródło
Problem: używanie php7 czasami powoduje następujący błąd:
Jest całkiem pewne, że wersja Zend musi coś z tym zrobić. Jest to szybka poprawka, ale na pewno nie jest poprawna:
-> app / code / core / Enterprise / PageCache / Model / Observer.php: 244 zamień na:
-> i app / code / core / Enterprise / PageCache / Model / Observer.php: 177 z:
Oczywiście stwórz dodatek, aby to przepisać. Ale jestem pewien, że jest coś lepszego do zrobienia.
AKTUALIZACJA (lepsze rozwiązanie)
-> Idź do: lib / Zend / Json.php i po linii 76 dodaj:
Utwórz rozszerzenie, aby je zastąpić i nie edytować pliku podstawowego.
źródło
a:5:{i:0;s:29:"Decoding failed: Syntax error";i:1;s:1376:"#0 app/code/core/Enterprise/PageCache/Model/Observer.php(177): Zend_Json::decode('a:0:{}')
Problem: kod dynamiczny lub css wyłącza kluczowy element wejściowy przy kasie
Problem Widziałem gdzie kod dynamiczny (paypal plus) w procesie zamawiania jednej stronie nadpisuje fieldset element w jednym etapie sposobu płatności formularza HTML - usunięcie lub wyłączenie (z CSS) ukryty form_key element.
Poprawka polega na tym, aby element formkey nie był wyłączany przez kod dynamiczny lub css. Przeniesienie kodu formkey poza fieldset elementu może również pomóc
Możesz łatwo sprawdzić, czy klucz_formatowy jest wykrywany i wysyłany do kontrolera jednostronicowego, sprawdzając żądania sieciowe ajax w przeglądarce podczas przechodzenia przez metody kasy, każda metoda powinna zawierać klucz formularza w danych formularza ajax, jeśli formularz klucz nie istnieje, ale kod źródłowy Magento został załatany. Sprawdź, czy kod zewnętrzny wpływa na element klucza formularza, tj. css lub dynamiczne zmiany po stronie klienta.
źródło
app/design/frontend/[package]/[theme]/template/giftcardaccount/onepage/payment/scripts.phtml
musi zostać zaktualizowany: linie 35-38 muszą zostać zaktualizowane, aby uwzględnić|| elements[i].name == 'form_key'
wraz z innymi selektorami, aby pole formularza form_key było wyłączone.Problem: brakujące poprawki w pliku head-simple.phtml
wymagają takich samych poprawek jak
źródło
PROBLEM: rejestracja klienta kończy się niepowodzeniem podczas korzystania z ogólnej 5-etapowej kasy Magento.
Ten problem jest prezentowany tylko wtedy, gdy WŁĄCZAMY uwierzytelnianie klucza formularza. Użyta wersja: 1.7.0.2, ale wygląda na to, że ktoś opublikował ten sam problem również w wersji 1.9.3. SUPEE-9767 Patch / CE 1.9.3.3 - Zamówienie jednej strony - Problem z rejestracją klienta
Kiedy Idź do kasy, mamy 2 opcje: KASA JAKO GOŚĆ LUB REJESTRACJA Po kliknięciu „Zarejestruj się” i wypełnieniu formularza wraz z hasłem, wykonujesz wszystkie kroki i realizujesz zamówienie. Zamówienie zostaje złożone, ALE klient nigdy nie zostaje zarejestrowany w Magento. Wygląda na to, że gość złożył zamówienie.
Kiedy wróciłem i wyłączyłem uwierzytelnianie przy użyciu klucza i próbowałem złożyć zamówienie podczas rejestracji jako klient, zostało ono złożone bez żadnych problemów, a klient został zarejestrowany w backend.
źródło
AKTUALIZACJA 13/07/2017 [PROBLEM JEST USUNIĘTY]
Zespół Magento wydał SUPEE-9767 V2 w tej wersji łatki problem z przezroczystymi gif i png został naprawiony.
Powinieneś przywrócić wszystkie zmiany do pliku omówionego w tym wątku. Następnie cofnij zastosowaną łatkę V1 i na koniec zastosuj nową wersję V2.
PRE - SUPEE-9767 V2
Nie używaj omawianego kodu, zamiast tego zastosuj V2 łatki. Problem omówiony poniżej został już rozwiązany w tej wersji
Jeśli ktoś ma problem z przezroczystymi png, że po przesłaniu z panelu administracyjnego tło staje się czarne. (Na produktach) odnosi się do wywołania zwrotnego przesyłania obrazu wprowadzonego w:
app/code/core/Mage/Adminhtml/controllers/Catalog/Product/GalleryController.php
W tej chwili nie jestem pewien, co dokładnie powoduje to zachowanie, ale próbuję to rozgryźć, mogę potwierdzić, że po usunięciu wywołania zwrotnego dziwne zachowanie zanika.
AKTUALIZACJA
Ok, znalazłem funkcję, która jest również zaktualizowana z SUPEE-9767, która faktycznie łamie przezroczystość w png, kopia oryginalnego obrazu jest tworzona bez przezroczystości.
AKTUALIZACJA
Oto zaktualizowana wersja funkcji w celu zachowania przejrzystości png
te dwie linie należy dodać do łatki. Zaktualizuj funkcję w
app/code/core/Mage/Core/Model/File/Validator/Image.php
AKTUALIZACJA 23/06/17
Ta zaktualizowana wersja funkcji naprawia przezroczystość PNG i GIF.
źródło
Problem: Zezwalaj administratorom na wyświetlanie powiadomień symbolicznych
Powiadomienie dowiązaniem symbolicznym nie będzie wyświetlane w obszarze powiadomień administratora, ponieważ nie jest zawarte w
<block type="core/text_list" name="notifications" as="notifications">
Poprawka dla CE i EE poniżej:
Problem znajduje
</block>
się na końcucheckout_formkey
(który sam się kończy) i dlatego zamyka element nadrzędnynotifications
. Powoduje to,notification_symlink
że nie są uwzględnianecore/text_list
i nie są renderowane.źródło
Mała wskazówka dla #patchday; po skopiowaniu 1.9.3.3 w instalacji, uruchom,
git diff -w --stat | grep -v " 2 +" | grep -v " 0"
aby szybko zobaczyć większe zmiany w plikach.źródło
Problem: nie załatano szablonu wysyłki EE
Połączyłem instalację EE 1.13.1.0, a szablon wysyłki korporacyjnej (
app/design/frontend/enterprise/default/template/checkout/onepage/shipping.phtml
) nie miał dodanego klucza form, ale szablony fakturowania i płatności tak.app/design/frontend/base/default/template/checkout/onepage/shipping.phtml
został załatany.źródło
/app/design/frontend/enterprise/default/template...
.../checkout/cart/coupon.phtml
,.../giftcardaccount/cart/block.phtml
.../giftcardaccount/cart/check.phtml
Występuje problem z wersjami Magento EE z łatką SUPEE-9767 (więc nie z aktualizacjami do 1.14.3.3). Klucz formularza na tej stronie zostanie zapisany w pamięci podręcznej. Więc kiedy opróżnię pamięć podręczną, a następnie przejdę na stronę produktu i upewnię się, że strona jest całkowicie buforowana (odśwież kilka razy), powinienem móc dodać ten produkt do koszyka.
Teraz, gdy otworzę inną przeglądarkę (lub tryb incognito), otwórz tę samą stronę i spróbuj ponownie dodać produkt do koszyka. Produkt nie zostanie dodany do koszyka z powodu klucza formularza. Teraz, gdy ponownie opróżnisz pamięć podręczną, produkt można ponownie dodać do koszyka.
Dzięki Jasper Zeinstra
źródło
W przypadku programistów korzystających z Magento Composer Intaller możesz zmienić strategię wdrażania na Kopiuj zamiast Symlink. Możesz także skonfigurować dołączanie plików modułów do .gitignore, aby repozytorium pozostało czyste.
https://github.com/Cotya/magento-composer-installer/blob/master/doc/Deploy.md#deploy-per-copy-instead-of-symlink
{ "extra":{ "magento-root-dir": "htdocs/", "magento-deploystrategy": "copy", "auto-append-gitignore": true } }
źródło
"magento-force": true,
staje się ważneMiałem problem z EE 1.14.2.2 z włączonym FPC i ta łatka została zastosowana.
Użytkownicy z przerwami nie mogli dodawać do koszyka.
Wyjaśnienie i naprawa tutaj: Problem SUPEE-9767: Problem z dodawaniem do koszyka, pamięć podręczna dla całej strony
źródło
Problem: Patch działał na waniliowym Magento 1.7.0.0 [edytowany]
Podczas testowania naszego skryptu poprawki wykryliśmy problem w łatce dla Magento 1.7.0.0. Nie wiem, czy ktoś nadal go używa, ale w każdym razie jest to problem w SUPEE-9767. Użyliśmy instalacji waniliowej i najpierw zainstalowaliśmy wszystkie poprzednie łaty.
Patch używany:
PATCH_SUPEE-9767_CE_1.7.0.2_v1-2017-05-25-09-31-32.sh
Plik łata ma pracować dla Magento 1.7.0.1 i 1.7.0.2Podsumowanie problemów:
Dla przypomnienia, to na 1.7.0.0 wypróbowaliśmy łatkę na:
źródło
PATCH_SUPEE-7405_CE_1.7.0.2_v1-2016-01-20-04-58-44.sh
nie działa dla 1.7.0.0. Utworzyłem poprawioną wersję pliku. Jeśli ktoś tego potrzebuje, wyślij mi wiadomość.Musiałem tylko cofnąć tę łatkę z powodu dziwnego zachowania. Z jakiegokolwiek powodu niektórzy użytkownicy nie mogli dodawać niektórych produktów do koszyka.
Zakładam, że ma to coś wspólnego ze starymi ofertami kolidującymi z aktualną ofertą dla tego klienta. Zweryfikowałem ten problem, logując się jako użytkownik, aby upewnić się, że nie jest to tylko 1D10T.
To był problem, odkąd zabrałem życie w patchu w zeszły piątek. Używamy 1.14.2.4 . Jesteśmy mocno zmodyfikowani, więc może działać dobrze dla innych użytkowników. Tylko ostrzeżenie!
źródło
Problem: nieskończona pętla przekierowań w wersji 1.6.0.0
Szybka naprawa
Znajdź poniższe wiersze wewnątrz funkcji chronionej metodą _checkBaseUrl ($ request) w pliku app / code / core / Mage / Core / Controller / Varien / Front.php
Zmień te linie na
Następnie zapisz plik (zatwierdzenie do REPO), wyczyść pamięć podręczną (usuń wszystko z folderu var / cache) i załaduj ponownie sklep. Powinieneś znaleźć ładowanie strony bez żadnych problemów z przekierowaniem 302 po zastosowaniu poprawki SUPEE 9767.
Przyczyna główna
Różnica wartości SCHEME między rzeczywistym żądaniem a identyfikatorem URI po przekierowaniu. Np .: Rzeczywiste żądanie zwraca schemat HTTP, ale schematem w URI może być HTTPS.
Możliwe przyczyny leżące u podstaw
Najprawdopodobniej możesz mieć regułę przekierowania w pliku .htaccess, aby przekierowywać wszystkie żądania http do https. Użytkownik prosi o adres http://twojadomena.com i być może zmieniłeś schemat i przekierowałeś go na https: // twojadomena zamiast http://twojadomena.com, o który tak naprawdę prosił.
Zarówno podstawowe bezpieczne, jak i niezabezpieczone adresy URL zaczynają się od https
źródło
BŁĄD POTWIERDZONY „Rejestracja klienta kończy się niepowodzeniem przy kasie” wystąpił po mojej stronie nieco inaczej.
Jeśli klient wybierze rejestrację w kasie, jego hasło nie zostanie poprawnie zapisane. Klient został utworzony poprawnie tylko dlatego, że hasło nie jest przechowywane. Wykryłem to przez fakt, że hasło nie było wyświetlane w powitalnym e-mailu. Ludzie też nie mogą się zalogować z tego powodu.
Poprawka powiązana z poprawką SUPEE-9767 / CE 1.9.3.3 - Kasa z jedną stroną - Problem z rejestracją klienta również wykonał to zadanie.
źródło
Czy ktoś może mi powiedzieć, po co to ... do ... w supee-9767?
źródło
Łatka nie działa nawet dla waniliowego Magento 1.7.0.2.
nawet po ręcznym nałożeniu starszych łatek.
Rozwiązaniem / problemem, który znalazłem, jest to, że niektóre zmiany w łatce dla wersji 1.7.0.2 dotyczą plików, które nie istniały przed wersją 1.9.2.3. Skopiowałem więc następujące pliki z zupełnie nowej instalacji 1.9.2.3 przed uruchomieniem skryptu poprawki:
źródło
Po prostu dodaj do https://magento.stackexchange.com/a/176930/46249
Pogrubiony tekst jest niepoprawny. W przypadku aktualizacji do wersji 1.9.3.4 (SUPEE-9767 V2) lub nowszych bieżących ustawień zostaną usunięte:
Po prostu wyświetl ponownie opcję konfiguracji nie rozwiąże problemu. Opcja pojawia się, ale nie możesz zmienić konfiguracji, ponieważ nowo wprowadzony model zaplecza uniemożliwia zapisanie wartości. Widzieć:
i
Więc musisz usunąć lub zastąpić ten model zaplecza, zobacz Jak włączyć dowiązania symboliczne po instalacji SUPEE-9767 V2?
źródło