Geçersiz Form Anahtarı. Lütfen sayfayı yenileyin. ürün kaydetme hatası


14

Herkese selam Ürünümü yönetici paneline kaydetmeye çalıştığımda
" Invalid Form Key. Please refresh the page." bu hatayı alıyorum . Burada bu bağlantıdan
geçtim ama başarılı olamadım. Günlük dosyama baktığımda bana bunu gösterdi

2013-09-03T07:07:43+00:00 ERR (3): Notice: Undefined index: httponly  in /var/www/app/code/core/Mage/Core/Model/Session/Abstract/Varien.php on line 94
2013-09-03T07:07:43+00:00 ERR (3): Notice: Undefined index: secure  in /var/www/app/code/core/Mage/Core/Model/Session/Abstract/Varien.php on line 96
2013-09-03T07:07:43+00:00 ERR (3): Notice: Undefined index: domain  in /var/www/app/code/core/Mage/Core/Model/Session/Abstract/Varien.php on line 98

Burada bu makalede önerildiği gibi dosyadaki satırları yorumladım . Ve günlük dosyalarındaki hatalar ortadan kalktı. Ancak yine de ürünümü ve "Geçersiz Form Anahtarı. Lütfen sayfayı yenileyin" hatasını kaydedemiyorum. olduğu gibi.
Firebug'daki gönderi verilerini kontrol ettim ve bana gösterdi

form_key    THJDhxajLIZnzrHt
form_key    {{formKey}}

Ürünümü kaydettiğimde geçen form anahtar değişkenleri olarak. Yerel makinemde kontrol ettiğimde beni gösteriyor

form_key    prvOwOCGjSKG6DpF
form_key    {{formKey}}
form_key    prvOwOCGjSKG6DpF

böyle bir şey.
Burada neyin yanlış olduğu hakkında bir fikri olan var mı? Burada görebiliyorum " form_key" canlı geçiş için son değeri " " {{formkey}}yerel iken " prvOwOCGjSKG6DpF". Herhangi bir yardım takdir.

Yanıtlar:


11

Bu hata için bir kaynak daha var: cookie_domainyapılandırmada yanlış . Yönetici alanına giriş yapamadığınız için doğrudan mysql ile kontrol edebilirsiniz:

SELECT * FROM core_config_data WHERE path LIKE '%cookie_domain%';

MySQL'deki değeri doğrudan da değiştirebilirsiniz. Daha sonra önbelleği temizlemeyi unutmayın.



4

Önce taktığınız tüm özel modülleri devre dışı bırakmayı deneyin ve sorunun devam edip etmediğini görün.

Bir şey, medya yükleyicisi ve ürün düzenleme sayfasının diğer bölümleri tarafından nonce olarak kullanılan form_key parametresi ile çarpışan ürün sayfasına fazladan bir alan enjekte ediyor gibi görünüyor .


Merhaba Roscius, önerdiğiniz gibi magento js klasöründeki medya yükleme dosyalarıyla ilgili bir sorun olmalı. JS klasörünü değiştirdim ve şimdi her şey çalışıyor. Thanks ..
Jaimin Sutariya

2

Lütfen aşağıdaki yolu ve kodu kontrol edin. krom giriş sorunu için aşağıdaki kodu yorumlamış olmanız gerekir.

 app/code/core/Mage/Core/Model/Session/Abstract/Varien.php:87
// session cookie params
$cookieParams = array(
    'lifetime' => $cookie->getLifetime(),
    'path'     => $cookie->getPath(),
    'domain'   => $cookie->getConfigDomain(),
    'secure'   => $cookie->isSecure(),
    'httponly' => $cookie->getHttponly()
);

if (!$cookieParams['httponly']) {
    unset($cookieParams['httponly']);
    if (!$cookieParams['secure']) {
        unset($cookieParams['secure']);
        if (!$cookieParams['domain']) {
            unset($cookieParams['domain']);
        }
    }
}

1

.Htaccess dosyanıza daha yakından bakın. 1.7.0 Magento mağazamı başka bir sunucuya geçirdiğimde .htaccess dosyasını eski sunucudan ekledim ve sonra "Geçersiz Form Anahtarı. Lütfen sayfayı yenileyin" ekranı açılır ve yapılandırma değişikliklerinin bile etkisi olmadı. Çözüm, yeni bir macenta yüklemek ve sonra .htaccess hariç My Store dosyalarını Magento kök dizinine kopyalamaktı. Taze kurulumdan .htaccess'i kullandığımda her şey iyi çalışmaya başlıyor. Tam olarak ne olduğunu bilmiyorum, belki her sunucu yapısının farklı ve özel .htaccess girişleri ve kuralları vardır. Benim için çalışıyor.


1

Sorunun tam olarak ne olduğundan emin değilim, ancak Apache sunucumun ServerNamedirektiflerinin bir sonucu gibi görünüyor .

Sunucuya ServerNameMagento kurulumumu verdiğim ile aynı global verdim. Form anahtarlarının tüm amacı (sanırım) alan adları (XSRF, vb.) İle güvenlikle ilgili olduğundan, bunun nedeni olabilir.

Ben küresel değişti ServerName"example.com", kelimenin tam anlamıyla, için.

Daha sonra Magento önbelleğini ve uzak sunucudaki tüm oturumları temizledim ve tarayıcımdaki çerezleri sildim.

Ve şimdi çalışıyor.

(Bu durumda PHP'lerle ilgisi yoktu max_input_vars. Uzun zaman önce onlarla ilgili farklı bir sorunum vardı. Kategori ürünlerini kaydederken, sadece ilk max_input_varsürün sayısı kurtarılacak ve geri kalanı Bu nedenle, kategoride 10.000 ürününüz olabilir, ancak yöneticiye 1 tane daha eklemeye çalıştığınızda ve yalnızca 1000 ile sonuçlandırın.)


1

Bu hata, php.ini değişkeni " max_input_vars " nedeniyle oluşur. Aşağıdaki php işlevinden 10000'e yükseltin :

ini_set('max_input_vars', 10000);

VEYA Linux komut satırını kullanma

cd /etc/php/7.0/apache2/
vi php.ini (Open for edit and set max_input_vars=10000)
:wq(Press esc and write the mentioned command to save and exit)
sudo /etc/init.d/apache2 restart(Restart Server)
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.