أخطاء توجيه متعددة بعد تثبيت PATCH_SUPEE-6788_EE
-
13-12-2019 - |
سؤال
لقد قمت مؤخرًا بتثبيت أحدث تصحيح أمني لإصدار Enterprise Edition 1.14.2.0.
تتعثر بعض الطرق.على سبيل المثال:يؤدي "إضافة عميل" في المشرف إلى صفحة فارغة (http://local.edressme.com/edressme/index.php/admin/customer/new/key/775e63f4ca795973b527bca8f11ff7e096e4a190d5e34db875cfe95033d5e999/).وكذلك الحال بالنسبة لبعض أزرار الوحدات (وتسجيل عميل جديد في الواجهة الأمامية).
لقد ركضت https://github.com/rhoerr/supee-6788-toolbox, ، ولكن لم ينجح (على الأقل في العناصر التي حددتها.)
أنا لا أبحث عن حل عالمي (سيكون جميلًا).سيكون موضع تقدير كبير تلميح حول ما هي المشكلة وما يجب القيام به.
شكرًا!
المحلول
يبدو أن صندوق الأدوات الذي أشرت إليه أعلاه من المفترض أن يتعامل مع ما أصفه أدناه، ولكن من الأفضل التحقق مرة أخرى.لقد مررت بعناية بالتصحيح بأكمله عندما قمت بتطبيقه وفعلت كل شيء يدويًا للموضوع/الامتدادات المخصصة الخاصة بي بعد مواجهة بعض المشكلات.
تأكد من تطبيق جميع ملفات .phtml و.xml على سمة FE وadmin المخصصة لديك
يحتوي هذا التصحيح على العديد من التغييرات على ملفات الواجهة الأمامية وملفات admin.xml التي يجب تطبيقها على أي سمة مخصصة.يمس هذا التصحيح عدة أجزاء مختلفة من النظام.
على سبيل المثال، في عملية إنشاء حساب العميل، ستلاحظ أن أ form_key
تمت إضافتها إلى نموذج التسجيل، وبالتالي فإن هذه التغييرات في app/design/frontend/base/default/template/customer/form/register.phtml
تحتاج أيضًا إلى تطبيقها على السمة المخصصة الخاصة بك.كان هناك العديد من الملفات الأخرى التي تغيرت.تأكد من مراجعة التصحيح بعناية، مع ملاحظة كافة ملفات .phtml و.xml التي تم تغييرها وتطبيقها على القالب الخاص بك.
وبالمثل، إذا قمت بتخصيص أي تخطيط أو ملفات .phtml في المسؤول لديك، فتحقق منها أيضًا.
تحقق من أي وحدات تحكم متجاوزة
وبالمثل، ستحتاج إلى التحقق من أي ملحق قد يكون قد تجاوز الأساليب في وحدة تحكم العملاء لديك (أو أي وحدة تحكم أخرى تم لمسها بواسطة التصحيح في هذا الشأن).على سبيل المثال، انظر:
app/code/core/Mage/Customer/controllers/AccountController.php
.لقد واجهت مشكلة حيث قام الامتداد الذي قمت بإنشائه بتوسيع وحدة التحكم هذه وتجاوز createPostAction
الطريقة - اضطررت إلى تطبيق التغييرات المشار إليها في التصحيح على وحدة التحكم التي كنت أستخدمها.(على سبيل المثال:
+ $errUrl = $this->_getUrl('*/*/create', array('_secure' => true));
+
+ if (!$this->_validateFormKey()) {
+ $this->_redirectError($errUrl);
+ return;
+ }
+
تصحيح الأخطاء
هل يمكنك التحقق من التقارير/سجلات الأخطاء لديك والإبلاغ عن أي أخطاء تتلقاها إذا لم تعالج هذه الخطوات مشكلتك؟