Wordpress

WordPress Parola Korumalı Eklenti Yükleme Nasıl Yapılır?

WordPress Parola Korumalı Eklenti Yükleme Nasıl Yapılır?

WordPress admin panelinde eklenti yüklemek birçok kullanıcı için büyük bir kolaylık sağlasa da, kötü niyetli kişiler veya yanlışlıkla yapılan yüklemeler site güvenliğini riske atabilir.

WordPress admin panelinde eklenti yükleme işlemini şifre ile korumak mümkün mü?

Evet! Eğer WordPress sitenize izinsiz eklenti yüklenmesini engellemek istiyorsanız, yükleme sürecine şifre doğrulaması ekleyebilirsiniz.

Bu yazıda, WordPress’in eklenti yükleme mekanizmasına şifre doğrulama nasıl eklenir? sorusunun cevabını adım adım açıklayacağım. Sonuç olarak şifre girilmeden asla eklenti yüklenemeyecek! 

Neden WordPress’te Eklenti Yüklemeye Şifre Koymalıyız?

WordPress sitelerinde yetkisiz eklenti yüklenmesini engellemek, güvenliği artırmak ve yalnızca yetkili kişilerin eklenti yükleyebilmesini sağlamak için bu yöntemi kullanabiliriz.

Bu sistem ile:

  • Yanlış şifre girildiğinde eklenti yüklenmeyecek.
  • Şifre girilmeden “Şimdi Kur” butonu çalışmayacak.
  • Şifre girilmezse eklenti dosyası bile sunucuya yüklenmeyecek.
  • Bu güvenlik önlemi PHP seviyesinde olduğu için JavaScript devre dışı bırakılsa bile çalışmaya devam edecek.
Wordpress plugin install password

WordPress’te Eklenti Yüklerken Şifre Nasıl Zorunlu Hale Getirilir?

Aşağıda adım adım WordPress’in çekirdek yükleme sürecine şifre eklemeyi anlatıyorum.

1-) PHP: Eklenti Yükleme İşlemini Tamamen Engelle

WordPress’in admin panelinde eklenti yükleme sürecini şifre doğrulaması olmadan başlatılmasını engellemek için aşağıdaki kodu functions.php dosyanıza ekleyin:

function block_plugin_upload()
{
    if (isset($_GET['action']) && $_GET['action'] === 'upload-plugin') {
        // Eğer POST isteğinde şifre yoksa veya yanlışsa yüklemeyi iptal et
        if (!isset($_POST['plugin_install_password']) || $_POST['plugin_install_password'] !== 'admin123') {
            header('HTTP/1.1 403 Forbidden');
            exit('<h2>Yanlış veya eksik şifre! Eklenti yükleme işlemi tamamen iptal edildi.</h2> <a href="' . admin_url('plugin-install.php') . '">Geri Dön</a>');
        }
    }
}
add_action('admin_init', 'block_plugin_upload');

Bu kod ne yapıyor?

  • Eğer şifre girilmezse veya yanlış girilirse, eklenti yükleme işlemi başlamadan durduruluyor.
  • Sunucuya dosya bile yüklenmeden işlem iptal ediliyor.
  • Kullanıcıya “Yanlış veya eksik şifre” mesajı gösteriliyor.

2-) PHP: WordPress’in Çekirdek Yükleme Sistemine Şifre Kontrolü Ekleyelim

Bazı durumlarda şifre girilmeden yükleme işlemi başlatılabilir, bunu tamamen engellemek için aşağıdaki kodu da ekleyin:

function prevent_plugin_installation($response, $hook_extra)
{
	// Eğer işlem bir eklenti yükleme işlemi değilse (örneğin güncelleme), şifre kontrolü yapma
	if (!isset($hook_extra['action']) || $hook_extra['action'] !== 'install') {
		return $response;
	}

	// Şifre kontrolü
	if (!isset($_POST['plugin_install_password']) || $_POST['plugin_install_password'] !== 'admin123') {
		return new WP_Error('incorrect_password', 'Yanlış şifre! Eklenti yükleme başarısız.');
	}

	return $response;
}
add_filter('upgrader_pre_install', 'prevent_plugin_installation', 10, 2);

Bu kod ne yapıyor?

  • Şifre yanlışsa WordPress’in yükleme sürecini en başında durduruyor.
  • Şifre girilmeden eklenti dosyası bile yüklenemiyor.
  • Eklenti yarım şekilde yüklenmiyor ve veri tabanında hatalı kayıt oluşmuyor.
  • Eğer işlem bir güncelleme ise (update olarak gelir), şifre kontrolü devre dışı kalır.

3-) JavaScript: “Şimdi Kur” Butonuna Tıklayınca Şifre Sorma

Şimdi de şifre isteme işlemini daha kullanıcı dostu hale getirmek için JavaScript ile bir prompt (şifre giriş kutusu) ekleyelim.

Bu kodu functions.php dosyanıza ekleyin:

function add_plugin_password_prompt()
{
    ?>
    <script type="text/javascript">
        document.addEventListener("DOMContentLoaded", function () {
            document.body.addEventListener("click", function (event) {
                let target = event.target;


                // "Şimdi Kur" butonuna tıklanınca şifre sor
                if (target.classList.contains("install-now")) {
                    event.preventDefault();


                    let password = prompt("Lütfen eklenti yüklemek için şifrenizi girin:");
                    if (password === null || password.trim() === "") {
                        alert("Şifre girmediniz, yükleme iptal edildi.");
                        return;
                    }


                    let form = target.closest("form");
                    if (!form) {
                        form = document.createElement("form");
                        form.method = "post";
                        form.style.display = "none";
                        target.parentNode.appendChild(form);
                    }


                    let passwordInput = document.createElement("input");
                    passwordInput.type = "hidden";
                    passwordInput.name = "plugin_install_password";
                    passwordInput.value = password;
                    form.appendChild(passwordInput);


                    target.click();
                }
            }, true);
        });
    </script>
    <?php
}
add_action('admin_head', 'add_plugin_password_prompt');

Bu kod ne yapıyor?

  • “Şimdi Kur” butonuna tıklamadan önce kullanıcıdan şifre istiyor.
  • Şifre girilmezse veya iptal edilirse yükleme başlamıyor.
  • Şifre doğru girilirse form içine hidden input olarak ekleniyor ve PHP’ye gönderiliyor.

Sonuç: Artık WordPress’te Şifre Girmeden Eklenti Yüklenemez!

Şifre girilmeden eklenti yükleme işlemi başlamaz.
Yanlış şifre girilirse yükleme iptal edilir.
“Kuruluyor…” yazısı gelse bile yükleme süreci tamamen durdurulur.
Bu yöntem WordPress’in kendi çekirdek sistemine müdahale ettiği için JavaScript devre dışı bırakılsa bile çalışır.

Bu yöntemle şifre girilmeden eklenti yüklenmesi kesinlikle imkansız hale geliyor! 🚀🔒

Son Söz

WordPress’te eklenti yükleme sürecini güvenli hale getirmek, sitenizin kötü niyetli saldırılara karşı daha güçlü olmasını sağlar.
Eğer sitenize izinsiz eklenti yüklenmesini önlemek istiyorsanız, bu yöntemi kullanarak şifre doğrulama ekleyebilir ve maksimum güvenliği sağlayabilirsiniz.

Sevgili Okuyucularımız, Sizlere bilgi, eğlence ve ilham dolu içerikler sunabildiysek ne mutlu bize. Eğer yazımızda herhangi bir düzeltme veya öneri sunmak isterseniz, lütfen yorum yapmaktan çekinmeyin. Sizden gelen geri bildirimler, içeriklerimizi daha da geliştirmemiz için bize büyük bir yardımcı olacaktır. Teşekkür ederiz!
Unutmayın! Paylaşmak; kazanmanın en hızlı ve kolay yoludur. Bir sonraki makalede görüşmek dileğiyle esen kalın. 😊

Bu makale yardımcı oldu mu?
EvetHayır

Paylaş

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir