Mã khóa biểu mẫu không hợp lệ. vui lòng làm mới trang trực tuyến - không thể đăng nhập vào bảng quản trị


18

Tôi thường xuyên truy cập trang web của mình để đảm bảo nó hoạt động và nhận thấy rằng hình ảnh cho các sản phẩm không xuất hiện, nghĩ rằng đó là vấn đề với việc lập chỉ mục bộ đệm. Tôi đã cố đăng nhập vào bảng quản trị và nhận được lỗi:

"khóa biểu mẫu không hợp lệ. vui lòng làm mới trang"

hoặc là

Các triệu chứng khác là khách hàng không thể thêm sản phẩm vào giỏ hàng và hiệu suất cực kỳ chậm.

Không có lỗi trong nhật ký (/ var / log)

Những bước bổ sung nào tôi nên thực hiện để giải quyết vấn đề này?

Câu trả lời:


48

Nó cũng xảy ra nếu miền cookie trong Hệ thống> Cấu hình> Web> Cookies khác với miền trang web thực tế.

Để xóa cài đặt mà không cần truy cập vào bảng quản trị:

  1. sử dụng truy vấn SQL sau trên bảng điều khiển MySQL hoặc trong máy khách như phpMyAdmin:

    DELETE FROM core_config_data WHERE path='web/cookie/cookie_domain';
  2. xóa bộ nhớ cache. Nếu bạn đang sử dụng tệp phụ trợ bộ đệm dựa trên tệp mặc định, hãy xóa tất cả các thư mục bên dưới var/cache.

Sau đó, ngay khi bạn có thể đăng nhập lại, hãy đặt tên miền cookie chính xác cho mỗi trang web hoặc cửa hàng (Ví dụ: ví .example.comdụ.com, www.example.com và tất cả các tên miền phụ khác)

Nếu bạn đang sử dụng n98-magerun (và bạn nên!), Điều tương tự có thể được thực hiện với:

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

Xin chào @fschmengler, vui lòng thêm chi tiết về cách kiểm tra cài đặt này từ phpmyadmin, vì người dùng không thể đăng nhập vào bảng quản trị và một số nhà phát triển mới biết về phát triển Magento không biết nên kiểm tra các cài đặt đó trong cơ sở dữ liệu. Xin lỗi, nhưng chỉ để được giúp đỡ của các thành viên mới :)
Mohit Kumar Arora

@MohitKumarArora bạn nói đúng, tôi đã cập nhật câu trả lời
Fabian Schmengler

Bây giờ tôi đã nâng cấp. :)
Mohit Kumar Arora

cách n98 hoạt động tuyệt vời. Cảm ơn bạn về thông tin.
andy jones

@FabianSchmengler, tôi đã kiểm tra core_config_data và đó là giá trị chính xác cho trang web của tôi. Tôi vẫn cần phải trải qua tất cả các bước bạn cung cấp? Cách tiếp cận của bạn vẫn sẽ làm việc trong trường hợp này?
datan.io

18

Tôi đang đăng câu hỏi / câu trả lời vì tôi không thể tìm thấy bất cứ điều gì có liên quan.

Vấn đề là ổ đĩa cài đặt magento của tôi đã đầy. Tôi đã giải phóng một số phòng, xóa / var / session và / var / cache và mọi thứ trở lại bình thường.


1
Cảnh báo: xóa var/sessionsẽ đăng xuất mọi người và xóa tất cả các xe khách. Xem ở đây để biết giải pháp chỉ xóa các phiên cũ: magento.stackexchange.com/a/58167/243
Fabian Schmengler

@fschmengler có nhưng bạn có thực sự muốn có cơ hội với các phiên được tạo ra đúng cách để bắt đầu không? Khi tôi kiểm tra / var / session, có tất cả các loại tệp 0kb không bình thường.
SR_Magento

1
Hoàn toàn là một điều đầu tiên để kiểm tra. Đã làm tôi đau đầu về điều này trong nhiều giờ. Cảm ơn!
Bryant Jackson

Đối với tôi đó là không gian đĩa. Tôi phát hiện ra sau khi thử git pull, vì nó không thành công với lỗi liên quan đến không gian đĩa.
Damodar Bashyal

@SR_Magento Thưa ông, tôi đã bị xóa thư mục bộ đệm và thư mục phiên nên nhiều lần nó chỉ hoạt động trong một thời gian sau một thời gian có vấn đề tương tự
Amaresh Tiwari

3

Có 3 giải pháp:

  1. Sử dụng các lệnh này trong phpmyadmin

    XÓA TỪ core_config_data WHERE path = 'web / cookie / cookie_domain';

    XÓA TỪ core_config_data WHERE path = 'web / cookie / cookie_path';

Bây giờ hãy thử đăng nhập.

2. Xóa mọi thứ trong thư mục var và sau đó kiểm tra xem nó có hoạt động không.

3. Đặt lại tệp .htaccess với tệp .htaccess mẫu và sau đó thử đăng nhập quản trị viên.

Hy vọng nó sẽ giúp bạn.


1

Một vấn đề khác có thể, hơi rõ ràng, cần kiểm tra trước: nếu trang web của bạn sử dụng SSL, hãy đảm bảo bạn không sử dụng giao thức http cho trang quản trị của mình; bạn nên sử dụng https . ví dụ: https://example.com/admin


1

Trong trường hợp của tôi, vấn đề có vẻ là do tôi đã tạo người dùng quản trị bằng n98-magerun với người dùng không thể ghi trên magentofolder / var và sử dụng thư mục dự phòng / tmp / magento thay thế.

Tôi vừa xóa người dùng quản trị của mình và thực thi một sudo -iu OTHERUSER(người dùng sở hữu thư mục magento) và chạy n98-magerun admin:user:createlại để tạo người dùng của tôi.


CẬP NHẬT: Trong một trường hợp khác, url quản trị viên đã được truy cập mà không có www. cú pháp và cài đặt cookie đã sử dụng www. Chỉ cần đặt www. trong url quản trị đã giải quyết vấn đề. ;)


Điều này có nên không admin:user:create?
sr9yar

1
@ sr9yar không - đó là Magento2 - đây là M1
treyBake

0

Cùng với bước xóa bộ nhớ cache ở trên, tôi cũng phải theo dõi bài viết dưới đây và đặt thông tin dữ liệu phiên theo đúng đường dẫn bằng cách làm theo các bước dưới đây

Tham khảo bài viết

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

Tôi đã sửa nó bằng cách thay đổi session.save_path để đặt nó vào VM.

Thay đổi ứng dụng tệp / etc / local.xml

thay thế bằng bên dưới

Sau đó, nó bắt đầu làm việc. Ngoài ra, đôi khi bạn không thể thực sự nói vấn đề, do đó, điều quan trọng là bạn kích hoạt ghi nhật ký lỗi. Cho phép điều này bằng cách tham khảo bài viết sau

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


0

Xóa cookie và bộ nhớ cache. Mở bảng quản trị ở chế độ ẩn danh.


-3

Đây là vấn đề được biết đến thường xuất hiện sau khi áp dụng bản vá SUPEE-7405 có trong bản phát hành Magento 1.9.2.3. Nó có thể được giải quyết bằng cách thêm mã dưới đây vào tệp - app / code / local / Mage / Core / Model / Session.php

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

Tệp này có thể không tồn tại trong kho lưu trữ của bạn, vì vậy hãy sao chép nó từ app/code/core/Mage/Core/Model/Session.phpvà dán nó vào app/code/local/Mage/Core/Model/Session.phpSau khi thêm chức năng trên vào tệp vì nó có thể bị thiếu trong tệp lõi.

Cũng xóa bộ nhớ cache và cookie trình duyệt của bạn. Xóa tất cả các tệp trong Magento var/cachevar/sessionnội dung thư mục. Sau đó đăng nhập vào bảng quản trị của bạn.


Ermm..có phải một giải pháp tốt hơn là thêm đầu ra khối khóa biểu mẫu vào mẫu adminhtml bị ghi đè? (Bằng cách đó, bảo vệ CSRF sẽ hoạt động như dự định).
Luke A. Leber

2
Không bao giờ nên chỉnh sửa các tập tin cốt lõi.
Tối đa
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.