Hizmetler Hosting & Sunucu Araçlar Blog Ara Kurumsal EnglishEN
Teklif Alın

wp-admin'e Giremiyorsanız: Önce Durumu Doğru Teşhis Edin

WordPress admin paneline giriş yapamamanın birkaç yaygın nedeni vardır: şifreyi unutmak, e-posta/SMTP yapılandırması bozuk olduğu için 'şifremi unuttum' bağlantısının hiç gelmemesi, iki faktörlü doğrulama (2FA) cihazının kaybolması ya da bir güvenlik eklentisinin hesabı kilitlemesi. Özellikle e-posta sorunları sık görülür: birçok paylaşımlı barındırma ortamında sunucudan giden postalar SMTP doğru yapılandırılmadığı için spam klasörüne düşer ya da hiç teslim edilmez, bu durumda 'şifremi unuttum' bağlantısını beklemek zaman kaybından öteye geçmez. Bu durumların ortak noktası şudur: admin paneline giriş yapamıyorsunuzdur ama genellikle barındırma hesabınızın kontrol panelinden phpMyAdmin, Adminer gibi bir veritabanı yönetim aracına ya da SSH üzerinden WP-CLI'ye erişiminiz vardır. Bu erişim varsa, şifreyi WordPress'in kendi e-posta tabanlı kurtarma akışını beklemeden doğrudan veritabanından sıfırlamak mümkündür.

Bu Yöntem Neden Çalışır: phpass ve Geriye Dönük Uyumluluk

WordPress çekirdeği kullanıcı şifrelerini normalde phpass ile saklar; bu, tuzlanmış (salted) ve çok turlu bir hash algoritmasıdır ve elle hesaplanması pratik değildir. Ancak WordPress'in şifre doğrulama fonksiyonu olan wp_check_password(), geriye dönük uyumluluk için saklanan değerin düz bir MD5 özeti olduğu durumu da tanır. Veritabanındaki user_pass alanına doğrudan bir MD5 hash yazarsanız ve bu hash girdiğiniz şifreyle eşleşirse giriş başarılı olur — üstelik WordPress bu girişin ardından şifreyi otomatik olarak modern phpass formatına yeniden hashler. Bu davranış WordPress çekirdeğinin resmi bir parçasıdır ve phpMyAdmin veya SQL erişimi olan ama admin paneline giremeyen site yöneticileri için bilinen, resmi bir kurtarma yöntemidir.

Bu geriye dönük uyumluluğun sebebi tarihseldir: WordPress'in eski sürümleri şifreleri düz MD5 olarak saklıyordu, phpass daha sonra eklendi. Çekirdek ekibi, o dönemden kalma hesapların bir gecede kilitlenmemesi için wp_check_password() fonksiyonuna hem phpass hem de MD5 formatını tanıyan bir kontrol mantığı yerleştirdi. Bu kurtarma yönteminin çalışması, işte bu geriye dönük uyumluluk mantığına dayanır.

SQL Komutu ve Örnek

Komutun genel formatı şöyledir:

UPDATE {tabloöneki}users SET user_pass = '{md5hash}' WHERE user_login = '{kullaniciadi}';

Örneğin tablo öneki wp_ ve kullanıcı adı admin ise:

UPDATE wp_users SET user_pass = '<md5-hash-buraya>' WHERE user_login = 'admin';

Buradaki hash kısmına, yeni şifrenizin MD5 özetini yazmanız gerekir — düz metin şifreyi değil, hash'ini. phpMyAdmin'in SQL sekmesine bu komutu yapıştırıp çalıştırmanız yeterlidir.

phpMyAdmin Üzerinden Adım Adım Uygulama

  • Barındırma kontrol panelinizden phpMyAdmin'i açın ve WordPress sitenizin kullandığı veritabanını seçin.
  • Sol menüden {tabloöneki}users tablosunu bulun; öneki wp-config.php dosyasındaki $table_prefix değişkeninden doğrulayın.
  • İlgili kullanıcı satırını bulun ve user_pass alanını düzenleyin, ya da doğrudan SQL sekmesinden yukarıdaki UPDATE komutunu çalıştırın.
  • phpMyAdmin'in satır düzenleme arayüzünde bir 'Fonksiyon' sütunu varsa MD5 seçeneğini kullanıp yeni şifrenizi düz metin olarak girebilirsiniz; SQL sekmesinden çalıştırıyorsanız hash'i önceden hesaplayıp değeri olduğu gibi yapıştırmanız gerekir.
  • Sorguyu çalıştırdıktan sonra wp-admin giriş ekranına gidip yeni şifrenizle oturum açmayı deneyin.

Alternatif: SSH ve WP-CLI ile Çalıştırma

phpMyAdmin'e ek olarak, sunucunuza SSH erişiminiz ve WP-CLI kurulu ise aynı sorguyu terminalden de çalıştırabilirsiniz. WP-CLI'nin wp db query komutu, site kök dizinindeki wp-config.php dosyasından veritabanı bağlantı bilgilerini otomatik okuyarak doğrudan sorgu çalıştırmanızı sağlar:

wp db query "UPDATE wp_users SET user_pass = '<md5-hash-buraya>' WHERE user_login = 'admin';"

Bu yöntemin avantajı, tablo önekini elle kontrol etme zorunluluğunu ortadan kaldırmasıdır; WP-CLI zaten doğru veritabanına ve doğru bağlantı bilgilerine bağlıdır. Adminer gibi hafif bir veritabanı yönetim arayüzü kullanıyorsanız da aynı UPDATE sorgusunu SQL komut ekranına yapıştırıp çalıştırmanız yeterlidir; adımlar phpMyAdmin ile aynıdır.

Sahiplik ve Etik Uyarısı

Uyarı
Bu yöntem yalnızca sahibi olduğunuz veya yönetim yetkiniz bulunan bir site için kullanılmalıdır. Bu bir 'hackleme' tekniği değildir — WordPress'in kendi geriye dönük uyumluluk davranışına dayanan, veritabanı erişimi olan bir yöneticinin kullanabileceği meşru bir kurtarma yoludur. Erişim yetkiniz olmayan bir sitenin veritabanında bu şekilde şifre değiştirmek yetkisiz erişim kapsamına girer ve yasa dışıdır.

İşlemden Sonra Yapılması Gerekenler

SQL komutunu çalıştırıp yeni şifreyle giriş yaptıktan sonra iş bitmiş sayılmaz. WordPress bir MD5 eşleşmesinde şifreyi otomatik olarak modern phpass formatına yeniden hashler, ancak bu yalnızca başarılı bir girişten sonra tetiklenir. Bu yeniden hashleme genellikle giriş anında zaten gerçekleşir; yine de ek bir güvence olarak, giriş yaptıktan sonra normal Profil ekranından şifrenizi bir kez daha değiştirmeniz önerilir. Bu adım, hesabınızın kesin olarak modern, tuzlanmış hash formatında saklandığından emin olmanızı sağlar.

Sık Yapılan Hatalar

  • Tablo önekini varsayılan wp_ sanıp doğrulamadan kullanmak — birçok kurulumda güvenlik amacıyla farklı bir önek (wp-config.php içindeki $table_prefix) tanımlanmıştır ve komut yanlış tabloya yazılırsa hiçbir etki göstermez.
  • WHERE user_login = '...' kısmına yanlış kullanıcı adını yazmak; giriş adı ile ekranda görünen ad (display name) genellikle farklıdır.
  • Elle yazılan SQL'de tırnak işaretlerini veya hash değerini eksik ya da hatalı kopyalamak; tek bir karakter eksikliği sorguyu ya hataya düşürür ya da yanlış bir hash yazılmasına yol açar.
  • Şifre alanına MD5 hash yerine yanlışlıkla düz metin şifreyi yazmak; bu durumda giriş başarısız olur çünkü wp_check_password() saklanan değeri hash olarak yorumlar.

Hash'i elle hesaplamak yerine tarayıcı içinde hesaplayan bir araç kullanmak, hem doğru sözdizimini garanti eder hem de şifrenizin herhangi bir sunucuya iletilmesini gerektirmez — sorgu doğrudan panonuza kopyalanmaya hazır hale gelir.

WhatsApp