Bu hatayı yaşayan sadece siz değilsiniz, sizinle aynı hatayı alan kullanıcılar da var. Bu yazımızda PrestaShop admin panelinde otomatik çıkış sorununu önleyebilmek için gerekli kodları listeledik. Bu işlem PrestaShop’un sahip olduğu IP kontrolünü kaldırarak oturum problrmlerinizi olanak tanıyacaktır.
Bazı ISS’ler (Internet Servis Sağlayıcıları) sizin IP’nizi doğru bir şekilde temsil edemeyebilecek önbellek/proxy/güvenlik duvarlarına sahip olabilirler. PrestaShop, yönetici girişi yaptığınızda IP adresinizi etiketleyerek daha güvenli bir hale gelmektedir ve bu işlem sürekli tekrar etmektedir.
PrestaShop’un farklı sürümleri için farklı işlemler gerekmektedir fakat düzenleyeceğimiz dosya: “prestashopfolder/classes/cokkie.php” olacak.
Değişiklikleri yapmadan önce oluşabilecek olan hatalara karşı önlem olarak dosyanızın yedeğini almayı unutmayınız.
Prestashop 1.3 Versiyonu
“Before” satırını bulunuz ve kodu ikinci “AND” kısmından sonra gelen alanı temizleyin. Before
if ($this->id_employee AND Validate::isUnsignedId($this->id_employee) AND Employee::checkPassword(intval($this->id_employee),$this->passwd) AND (!isset($this->_content[‘remote_addr’])OR $this->_content[‘remote_addr’] == ip2long(Tools::getRemoteAddr())))
Kodları kaldırdıktan sonra aşağıdaki kodu ekleyiniz. After
if ($this->id_employee AND Validate::isUnsignedId($this->id_employee) AND Employee::checkPassword(intval($this->id_employee), $this->passwd))
Değişiklikleri yaptıktan sonra kaydetmeyi unutmayınız.
Prestashop 1.4 Versiyonu
“Before” kodunu bulunuz. Before
AND (!isset($this->_content[‘remote_addr’]) OR $this->_content[‘remote_addr’] == ip2long(Tools::getRemoteAddr()))
Kodları kaldırdıktan sonra aşağıdaki kodu ekleyiniz. After
Satır başına veya “AND” etiketinin önüne ard arda iki eğik çizgi ekleyin
//AND (!isset($this->_content[‘remote_addr’]) OR $this->_content[‘remote_addr’] == ip2long(Tools::getRemoteAddr()))
Değişiklikleri yaptıktan sonra kaydetmeyi unutmayınız.
Prestashop 1.4.7 ve Daha Üzeri Versiyonlar
PrestaShop admin paneline girmeniz gerekmektedir. “Tercihler (Preference)” seçeneğine tıklamanız ve sonrasında açılan ekranda “Çerez üzerindeki IP’yi kontrol edin (Check IP on the cookie)” seçeneği için “Hayır” seçeneğini seçiniz. Bu işlemlerden sonra oturumun otomatik sonlandırılma sorununuz çözülecektir.
Presta Shop yönetici klasörünüzü, yönetici klasörünüzde bulunan Parola Koruma Dizinleri (Password Protect Directories) özelliğini kullanarak koruyabilirsiniz. Statik bir internet hattınız varsa, sizin dışındaki herhangi bir IP adresini .htaccess veya IP Engelleyici kullanarak reddetmek de iyi bir fikirdir.