R10.NET Uygulamaları
Kullanıcılar
Yükleniyor, lütfen bekleyiniz..

    WordPress Eklentisiz Login Sayfası Yapımı ve WP-Login Sayfasını Kapatma

    WordPress özel login sayfası saldırılardan ve botlardan sitenizi uzak durabilirsiniz. Eklentisiz olarak kendi temanız üzerinde birkaç düzenleme yaparak Login sayfanızı nasıl değiştireceğinizi içeriğimizden öğrenebilirsiniz.

    bilimokur bilimokur 14.04.2022 15:00 237 3 dk okuma süresi
    WordPress Eklentisiz Login Sayfası Yapımı ve WP-Login Sayfasını Kapatma
    Son Düzenleme:

    WordPress'te brute force saldırıları genellikle wp-login.php yani giriş sayfası üzerinden yapılır. Bu sayfayı komple kapatarak saldırılardan bir nebze kurtulabilirsiniz. Fakat normal kullanıcıların siteye girebilmesi için de özel bir login sayfasına ihtiyacımız var.

    WordPress wp-login.php Nasıl Kapatılır?

    Basit kodlamalarla yapabileceğimiz bu işlem için sayısız eklenti mevcut. Fakat hiçbirine ihtiyacımız yok. Çünkü çok basit!

    Bu işlem için kullanacağımız fonksiyonlar şunlar:

    is_user_logged_in() Ziyaretçilerin siteye giriş yapıp yapmadıklarını sorgular. Bunu kullanacağız çünkü, eğer kullanıcı giriş yapmışsa ve site.com/wp-login.php linkine giderse varsayılan olarak wp-admin dizinine yönlendirilir. O yüzden bu yönlendirmeye müdahale etmememiz gerekiyor. Yani engelleme işlemini giriş yapan ziyaretçilere uygulamayacağız.

    wp_redirect() wp-login.php sayfasını farklı bir sayfaya yönlendirmek için kullanacağız.

    home_url() Yönlendirme yapabilmek için ana sayfanın linkini almamız gerekiyor. Böylelikle login sayfasını ana sayfaya yönlendirebileceğiz.

    Şimdi temanızın ana dizinindeki functions.php dosyasını açarak aşağıdaki kodu en alta ekleyin.

    add_action(
    	'init',
    	function () {
    		global $pagenow;
    
    		if ( 'wp-login.php' === $pagenow && ! is_user_logged_in() ) {
    			wp_redirect( home_url() );
    			exit();
    		}
    	}
    );

    İşlem bu kadar. Artık wp-login.php sayfasını kaldırmış olduk. Sitenizden çıkış yaparak site.com/wp-login.php adresine girip test edebilirsiniz. Şimdi özel bir giriş sayfası yapmamız gerekiyor. Aksi halde siteye kendimiz de giriş yapamayız.

    WordPress Özel Login Sayfası Nasıl Oluşturulur?

    Öncelikle login (giriş) formunu göstereceğimiz bir kısakod oluşturalım.

    Kullanacağımız fonksiyonlar:

    wp_get_current_user() Giriş yapmış olan kullanıcının bilgilerini getirir.

    wp_logout_url() Çıkış yapmak için gereken linki getirir.

    get_the_permalink() Bulunduğumuz sayfanın linkini getirir.

    wp_nonce_fıeld() Günveliğimiz için özel bir anahtar oluşturur. Böylelikle dışardan post denemesi yapıldığında arka planda herhangi bir işlem yapılmaz.

    Şimdi temanızın ana dizinindeki functions.php dosyasını açarak aşağıdaki kodu en alta ekleyin.

    	add_shortcode(
    	'r10_login',
    	function () {
    		ob_start();
     
    		// Kullanıcı giriş yapmamışsa login formunu göster.
    		if ( ! is_user_logged_in() ) :
    			?>
    			
    				
    					Kullanıcı Adı veya E-posta
    				
    				
    					Şifre
    				
    				
    					
    				
    				
    			
    		Merhaba ' . $current_user->display_name . ' Çıkış Yap?';
    		endif;
     
    		return ob_get_clean();
    	}
    );

    Bu kodu ekledikten sonra artık herhangi bir sayfaya [r10_login] kısakodunu ekleyerek giriş formunu gösterebiliriz. Kodu yerleştirdiğiniz sayfa sizin yeni login sayfanız olacak. Görünüm şu şekilde:

    Şimdi formdan gelen bilgileri kullanarak giriş yapalım.

    Kullanacağımız fonksiyonlar:

    wp_verify_nonce() Yukarıda bahsettiğimiz wp_nonce_field() ile oluşturulan anahtarı doğrulamak için kullanacağız.

    sanitize_text_field() $_POST tan gelen verileri zararlı XSS kodlarından arındırıyoruz. Yani sanitize (dezenfekte) ediyoruz.

    wp_signon() Bu fonksiyonla siteye giriş yaptıracağız.

    is_ssl() Wordpress sitede SSL olup olmadığını kontrol edeceğiz. Böylelikle güvenli giriş yaptırabiliriz. wp_signon() içerisinde kullanacağız.

    is_wp_error() wp_signon() fonksiyonu eğer hata döndürürse yani giriş başarısız olursa bu fonksiyonla kontrol edeceğiz.

    Formdan gelen verileri yakalayabilmek için temanızın ana dizinindeki functions.php dosyasını açarak aşağıdaki kodu en alta ekleyin.

    add_action(
    	'init',
    	function () {
    		if (
    			isset( $_POST['username'] ) &&
    			isset( $_POST['password'] ) &&
    			wp_verify_nonce( $_POST['r10_login'], 'r10_login' )
    		) {
    			// $_POST tan gelen veriden kullanıcı adını aldık.
    			$username = sanitize_text_field( $_POST['username'] );
    			// $_POST tan gelen veriden şifreyi aldık.
    			$password = sanitize_text_field( $_POST['password'] );
    
    			if ( ! empty( $username ) && ! empty( $password ) ) {
    				$res = wp_signon(
    					array(
    						'user_login'    => $username,
    						'user_password' => $password,
    					),
    					is_ssl() // Sitemizde SSL varsa güvenli giriş yapacağız.
    				);
    
    				// Eğer hata varsa ekrana bastıralım. Şifre yanlış vb. hatalar.
    				if ( is_wp_error( $res ) ) {
    					echo '' . $res->get_error_message() . '';
    				} else {
    					// Giriş başarılı ise ana sayfaya yönlendiriyoruz.
    					wp_redirect( home_url() );
    					exit();
    				}
    			} else {
    				echo 'Lütfen bütün bilgileri doldurun!';
    			}
    		}
    	}
    );

    İşlem bu kadar. Artık kendi özel formunuzu kullanarak sitenize giriş yapabilirsiniz.

    İçeriği Puanla
    Yorumlar

    Yorumunuz minimum 10 karakter olmalıdır.

    Tüm Yorumlar
    Toplam 1 Yorum
    • Can
      Can 4 ay önce
      Tebrikler 👏

    İlgili İçerikler:

    Sahibinden.com sıfır ve ikinci el otomobil satışlarına düzenleme getirdi

    Sıfır ve ikinci el satışına getirilen düzenleme ile birlikte artık sahibinden.com ‘da sadece yetkili bayiler sıfır otomobil satışı yapabilecek. Diğer ilan açan kişiler “sıfır” araç ilanı yayınlamayacak.

    Cook, Serve, Delicious! 3?! Sistem Gereksinimleri

    Cook, Serve, Delicious! 3?! epey uğraştırıcı bir restoran simülasyonu oyunudur. Oyunu oynamak için minimum sistem gereksinimlerini karşılamalısınız. Cook, Serve, Delicious! 3?! sistem gereksinimleri nelerdir? Hemen öğrenin.

    Samsung Galaxy Buds 2 Pro Özellikleri ve Türkiye Fiyatı

    Samsung Galaxy Buds 2 Pro kulaklıklar için ön sipariş kampanyası başladı. 26 Ağustos’tan itibaren satışları başlayacak olan kulaklıkların Türkiye fiyatı da belli oldu.

    Dev bataryalı Xiaomi Pad 5 Pro tanıtıldı! Özellikleri ve fiyatı

    Çin üretimindeki yeni tablet Xiaomi Pad 5 Pro tanıtıldı. Xiaomi Pad 5 Pro, 10.000 mAh batarya ve 12.4 inç ekrana sahip. Bu yeni modelde birçok özellik üzerinde iyileştirmeler yapıldığı söyleniyor.

    WordPress Eklentisiz Login Sayfası Yapımı ve WP-Login Sayfasını Kapatma

    Size daha iyi hizmet sunabilmek
    için çerezleri kullanıyoruz.

    Çerez Politikası Kabul Et