Giriş adresini taşıma: kurma, kontrol etme, geri alma
Önceden nelerin yerinde olması gerekir
Varsayılan olarak bu işlev kapalıdır ve kendiliğinden hiçbir zaman açılmaz. Üç durum taşımayı tümüyle engeller — anahtar o zaman kilitli kalır ve gerekçesini belirtir: (1) wp-config.php içinde define( 'KWPSEC_LOGIN_SLUG_OFF', true ); acil freni duruyordur. (2) Kurulum bir çoklu site ağıdır; orada tüm siteler tek bir girişi paylaşır, taşımanın ağ genelinde yapılması gerekirdi. (3) Kalıcı bağlantılar “Basit” olarak ayarlıdır. O zaman /gartentor gibi bir yol hiç PHP'ye ulaşmaz, web sunucusu daha önce 404 ile yanıt verir. Devam etmeden önce Ayarlar › Kalıcı Bağlantılar altında başka bir yapıya geçin.
Bir yol seçmek
3 ile 40 arasında karakter kullanılabilir: küçük harfler, rakamlar, tire ve alt çizgi. Eğik çizgi yok, aksanlı harf yok, nokta yok; büyük harfler küçüğe çevrilir. Kaydederken dört kontrol çalışır: alışılmış bot listelerindeki adlar (login, wp-login, admin, wp-admin, anmelden, dashboard ve benzerleri) reddedilir, çünkü bunlar dakikalar içinde yeniden bulunurdu. WordPress kurulumunda bu addan bir dosya veya dizin zaten varsa, ad reddedilir — web sunucusu, PHP'ye sorulmadan önce onu sunardı. wp-json, feed, author, category, sitemap veya favicon gibi ayrılmış rotalar kapalıdır. Ve bu yolun altında zaten bir yazı ya da sayfa varsa, ad reddedilir, çünkü o içerik sonrasında erişilemez olurdu. Kaydedilmiş bir yol henüz geçerli değildir — ancak taşımayı ayrıca açtığınızda etkili olur.
Açmak: bu sırada otomatik olarak neler olur
Anahtar çevrildiğinde ayar kaydedilir ve sunucu ardından kendi kurulumuna karşı iki gerçek HTTP isteği yapar: biri yeni, biri eski adrese. Her çağrının 8 saniye zaman sınırı vardır, yönlendirmeleri izlemez ve çerez göndermez. Gerçekten giriş sayfasının yanıt verdiğinin kanıtı olarak, dönen metinde id="loginform" ve name="log" aranır. Yeni adres HTTP 404 ile ve giriş formu olmadan yanıt verirse, değişiklik anında geri alınır ve eski durum geri yüklenir — bu durumda nginx'te çoğunlukla try_files satırı, Apache'de ise .htaccess eksiktir. Kontrol sorunsuz geçerse, eklenti yeni adresi düz metin e-posta olarak kayıtlı bildirim adresine (yoksa yönetici e-posta adresine) gönderir; e-postada wp-config.php için acil fren satırı da yer alır. Geri bildirim, wp_mail() iletiyi kabul edip etmediğini olduğu gibi söyler — kabul etmediyse adresi şimdi bir yere not edin. Etkinlik kaydına da bir satır yazılır.
Günlük işleyişte ne değişir
Yeni yolun altında orijinal wp-login.php dosyası çağrılır, yeniden yazılmaz — WordPress'in güvenlik güncellemeleri orada anında etkili olur. /wp-login.php, oturumu kapalı olanlar için var olmayan herhangi bir adres gibi davranır: istek boş bir yola yeniden yazılır ve tema tarafından, kendine özgü bir hata mesajı olmadan, sıradan bir 404 olarak görüntülenir — kendine özgü bir mesaj, burada bir şeyin gizlendiğine işaret ederdi. Oturumu açık olan geçmeye devam eder; bu bilinçlidir. Oturumu kapalı biri /wp-admin/ adresini çağırırsa, giriş yerine 302 ile ana sayfaya gider; aksi hâlde yeni adres Location header'ında görünürdü. İletişim formları, sepetler ve değerlendirmeler çalışmaya devam etsin diye admin-ajax.php, admin-post.php, load-styles.php ve load-scripts.php erişilebilir kalır. WordPress'in site_url(), network_site_url() veya wp_redirect() üzerinden ürettiği tüm adresler — wp_login_url(), wp_logout_url(), wp_lostpassword_url(), formun action özniteliği — otomatik olarak yeni yolu gösterir.
Kendinizi dışarıda bırakırsanız veya bir şey takılırsa
Birinci yol: Tarayıcınızda geçerli bir giriş çerezi bulunduğu sürece /wp-login.php ve /wp-admin/ adreslerine değişmeden ulaşırsınız. İkinci yol: Adres, değişikliğe ilişkin e-postada yazılıdır. Üçüncü yol: wp-config.php dosyasına define( 'KWPSEC_LOGIN_SLUG_OFF', true ); satırını girin — böylece hemen yeniden wp-login.php geçerli olur ve siz satırı kaldırana kadar anahtar kilitli kalır. Yönetim alanında ayrıca iki düğme vardır: biri kontrol çağrısını yineler ve HTTP kodunu, yanıt süresini ve eski adresin durumunu verir; diğeri erişim e-postasını yeniden gönderir. Kontrol çağrısı HTTP kodu yerine bir ağ hatası bildiriyorsa, çoğunlukla hosting sağlayıcısında loopback kapalıdır — bu, adresin çalışmadığı anlamına gelmez; adresi bir kez kendiniz açın. Başka bir eklentinin bağlantısı wp-login.php üzerinde kalıyorsa, o bağlantı orada sabit kodlanmıştır ve site_url() üzerinden geçmez; yalnızca bu filtrelerden geçen adresler yeniden yazılabilir. Geri almak istediğinizde aynı anahtarı her zaman kullanabilirsiniz.