“ รหัสฟอร์มไม่ถูกต้อง โปรดรีเฟรชหน้าเว็บ” - ไม่สามารถเข้าสู่แผงผู้ดูแลระบบ


18

ฉันเข้าเยี่ยมชมเว็บไซต์ของฉันเป็นประจำเพื่อให้แน่ใจว่ามันใช้งานได้และสังเกตเห็นว่ารูปภาพสำหรับผลิตภัณฑ์ไม่ปรากฏโดยคิดว่าเป็นปัญหากับแคชการจัดทำดัชนีฉันพยายามลงชื่อเข้าใช้แผงผู้ดูแลระบบและได้รับข้อผิดพลาด:

"รหัสฟอร์มไม่ถูกต้องโปรดรีเฟรชหน้าเว็บ"

หรือ

อาการอื่น ๆ คือลูกค้าไม่สามารถเพิ่มสินค้าลงในรถเข็นและทำงานช้ามาก

ไม่มีข้อผิดพลาดในบันทึก (/ var / บันทึก)

ฉันควรดำเนินการขั้นตอนอะไรเพิ่มเติมเพื่อแก้ไขปัญหานี้

คำตอบ:


48

นอกจากนี้ยังเกิดขึ้นหากโดเมนคุกกี้ในระบบ> การกำหนดค่า> เว็บ> คุกกี้นั้นแตกต่างจากโดเมนไซต์จริง

หากต้องการลบการตั้งค่าโดยไม่ต้องเข้าถึงแผงควบคุมระบบ:

  1. ใช้แบบสอบถาม SQL ต่อไปนี้บนคอนโซล MySQL หรือในไคลเอนต์เช่น phpMyAdmin:

    DELETE FROM core_config_data WHERE path='web/cookie/cookie_domain';
  2. ล้างแคช var/cacheหากคุณกำลังใช้แบ็กเอนด์แคชแฟ้มเริ่มต้นตามลบไดเรกทอรีทั้งหมดด้านล่าง

จากนั้นทันทีที่คุณสามารถเข้าสู่ระบบได้อีกครั้งให้ตั้งค่าโดเมนคุกกี้ที่ถูกต้องสำหรับแต่ละเว็บไซต์หรือร้านค้า (ตัวอย่าง: .example.comสำหรับ example.com, www.example.com และโดเมนย่อยอื่น ๆ ทั้งหมด)

หากคุณใช้n98-magerun (และคุณควร!) คุณสามารถทำสิ่งเดียวกันนี้ได้ด้วย:

n98-magerun config:delete web/cookie/cookie_domain
n98-magerun cache:clean config

สวัสดี @ fschmengler โปรดเพิ่มรายละเอียดเพิ่มเติมเกี่ยวกับวิธีตรวจสอบการตั้งค่านี้จาก phpmyadmin เนื่องจากผู้ใช้ไม่สามารถลงชื่อเข้าใช้แผงการดูแลระบบและนักพัฒนาบางคนที่ยังใหม่กับการพัฒนา Magento ไม่รู้ที่จะตรวจสอบการตั้งค่าดังกล่าวในฐานข้อมูล ขออภัย แต่เพียงสำหรับความช่วยเหลือของสมาชิกใหม่ :)
Mohit มาร์ร่า

@MohitKumarArora คุณถูกต้องฉันอัพเดตคำตอบแล้ว
Fabian Schmengler

ตอนนี้ฉัน upvoted แล้ว :)
Mohit Kumar Arora

วิธี n98 ใช้งานได้ยอดเยี่ยม ขอบคุณสำหรับข้อมูล.
jones andy

@FabianSchmengler ฉันตรวจสอบ core_config_data และเป็นค่าที่ถูกต้องสำหรับเว็บไซต์ของฉัน ฉันยังต้องทำตามขั้นตอนทั้งหมดที่คุณให้ไว้หรือไม่? วิธีการของคุณจะยังคงทำงานในกรณีนี้หรือไม่?
datasn.io

18

ฉันกำลังโพสต์คำถาม / คำตอบเพราะฉันไม่พบสิ่งที่เกี่ยวข้อง

ปัญหาคือว่าไดรฟ์ที่ติดตั้งวีโอไอพีของฉันเต็มอยู่ ฉันว่างบางห้องล้าง / var / session และ / var / cache และทุกอย่างกลับเป็นปกติ


1
คำเตือน: การลบvar/sessionจะออกจากระบบทุกคนและล้างรถเข็นของผู้เยี่ยมชมทั้งหมด ดูที่นี่สำหรับโซลูชันที่ลบเซสชันเก่าออกเท่านั้น: magento.stackexchange.com/a/58167/243
Fabian Schmengler

@fschmengler ใช่ แต่คุณต้องการใช้โอกาสที่มีเซสชันที่สร้างขึ้นอย่างถูกต้องเพื่อเริ่มต้นด้วยหรือไม่ เมื่อฉันตรวจสอบ / var / session มีไฟล์ 0kb ทุกชนิดซึ่งไม่ปกติ
SR_Magento

1
อย่างแรกที่ต้องตรวจสอบ รับหัวของฉันเกี่ยวกับเรื่องนี้เป็นเวลาหลายชั่วโมง ขอบคุณ!
ไบรอันท์แจ็คสัน

สำหรับฉันมันเป็นพื้นที่ดิสก์ ฉันพบหลังจากพยายาม git pull เพราะมันล้มเหลวด้วยข้อผิดพลาดที่เกี่ยวข้องกับพื้นที่ดิสก์
Damodar Bashyal

@SR_Magento Sir ฉันถูกลบแคชโฟลเดอร์และโฟลเดอร์เซสชั่นหลายครั้งมันใช้งานได้ในบางครั้งหลังจากที่มีปัญหาเดียวกัน
Amaresh Tiwari

3

มี 3 วิธีคือ:

  1. ใช้คำสั่งเหล่านี้ใน phpmyadmin

    ลบจาก core_config_data WHERE path = 'web / cookie / cookie_domain';

    ลบจาก core_config_data WHERE path = 'เว็บ / คุกกี้ / cookie_path';

ตอนนี้พยายามเข้าสู่ระบบ

2. ลบทุกอย่างในโฟลเดอร์ var จากนั้นตรวจสอบว่าใช้งานได้หรือไม่

3. แทนที่ไฟล์. htaccess ด้วยไฟล์. htaccess ตัวอย่างจากนั้นลองลงชื่อเข้าใช้ผู้ดูแลระบบ

หวังว่ามันจะช่วยคุณ


1

ปัญหาที่ควรตรวจสอบอีกประการหนึ่งที่เป็นไปได้ค่อนข้างชัดเจน: หากเว็บไซต์ของคุณใช้ SSL ตรวจสอบให้แน่ใจว่าคุณไม่ได้ใช้โปรโตคอล http สำหรับหน้าผู้ดูแลระบบของคุณ คุณควรจะใช้https เช่นhttps://example.com/admin


1

ในกรณีของฉันปัญหาน่าจะเป็นเพราะฉันได้สร้างผู้ใช้ admin โดยใช้ n98-magerun กับผู้ใช้ที่ไม่สามารถเขียนบน magentofolder / var และใช้โฟลเดอร์ fallback / tmp / magento แทน

ฉันเพิ่งลบผู้ใช้ผู้ดูแลระบบของฉันและดำเนินการsudo -iu OTHERUSER(ผู้ใช้ที่เป็นเจ้าของโฟลเดอร์วีโอไอพี) และวิ่งn98-magerun admin:user:createอีกครั้งเพื่อสร้างผู้ใช้ของฉัน


อัปเดต: ในอีกกรณีหนึ่ง URL ของผู้ดูแลระบบมีการเข้าชมโดยไม่มีwww ไวยากรณ์และการตั้งค่าคุกกี้ใช้งาน www เพียงแค่ใส่ www ใน URL ของผู้ดูแลระบบแก้ไขปัญหาได้ ;)


สิ่งนี้ไม่ควรเป็นอย่างนั้นadmin:user:createหรือ
sr9yar

1
@ sr9yar nope - นั่นคือ Magento2 - นี่คือ M1
treyBake

0

พร้อมกับขั้นตอนข้างต้นของการล้างแคชฉันยังต้องทำตามบทความด้านล่างและตั้งค่าข้อมูลข้อมูลเซสชันในเส้นทางที่ถูกต้องโดยทำตามขั้นตอนด้านล่าง

บทความอ้างอิง

/programming/26123081/failed-to-write-session-data-magento

ฉันแก้ไขโดยเปลี่ยน session.save_path เพื่อวางไว้ใน VM

เปลี่ยนแอพไฟล์ / etc / local.xml

แทนที่ด้วยด้านล่าง

จากนั้นมันก็เริ่มทำงาน ในบางครั้งคุณไม่สามารถบอกปัญหาได้ดังนั้นจึงเป็นสิ่งสำคัญที่คุณต้องเปิดใช้งานการบันทึกข้อผิดพลาด เปิดใช้งานสิ่งนี้โดยอ้างอิงจากบทความต่อไปนี้

https://www.thecreativedev.com/how-to-enable-system-log-and-errorswarning-in-magento/



-3

ปัญหานี้เป็นที่ทราบกันทั่วไปแล้วหลังจากใช้แพตช์ SUPEE-7405 ที่รวมอยู่ใน Magento 1.9.2.3 มันสามารถแก้ไขได้โดยการเพิ่มรหัสด้านล่างในไฟล์ - แอพ / รหัส / ท้องถิ่น / Mage / Core / รุ่น / Session.php

public function validateFormKey()
{
    if (!($formKey = $_REQUEST['form_key']) || $formKey != $this->getFormKey()) {
        return false;
    }
    return true;
}

ไฟล์นี้อาจไม่มีอยู่ในที่เก็บของคุณดังนั้นคัดลอกมาจากapp/code/core/Mage/Core/Model/Session.phpและวางลงในapp/code/local/Mage/Core/Model/Session.phpหลังจากนั้นฟังก์ชั่นเพิ่มข้างต้นในไฟล์เพราะมันอาจจะหายไปในไฟล์หลัก

ล้างแคชและคุกกี้ของเบราว์เซอร์ด้วย ล้างไฟล์ทั้งหมดในเนื้อหาวีโอไอพีvar/cacheและvar/sessionโฟลเดอร์ จากนั้นเข้าสู่แผงผู้ดูแลระบบของคุณ


เอ่อ .. จะไม่เป็นทางออกที่ดีกว่าการเพิ่มเอาท์พุทบล็อกของแบบฟอร์มคีย์ไปยังเทมเพลต adminhtml แทนที่ใช่ไหม (วิธีนี้การป้องกัน CSRF จะทำงานตามที่ตั้งใจไว้)
ลูกาเอ. เลเบอร์

2
หนึ่งไม่ควรแก้ไขไฟล์แกน
สูงสุด
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.