WordPress 2 aşamalı giriş sistemi ( Geçici Anahtar Kodu )
4 dakikada okuyabilirsiniz. • Wordpress İpuçları • 13.09.2017 • 18:59 • 1.993 Okunma
Hepinize merhaba arkadaşlar 🙂
Bugün daha önce bir projemde kodladığım WordPress 2 aşamalı giriş sistemi yazacağız. Bu kodumuz sitemizin güvenliğini 4 seviye güçlendirebilecek.Eğer web sitemizi 1 kişi kontrol edip giriş yapıyorsa bu yöntem tam sizin için biçilmiş bir kaftan diyebilirim. Yani çoklu üyelik sistemlerinde pek önermem fakat kurumsal wordpress siteleriniz ya da yönetimi sadece size ait siteleriniz için sorunsuz kullanabilirsiniz.
WordPress girişleriniz için ne gibi güvenlik tedbirleri alıyorsunuz ?
Bu dersi yazılı olarak yapacağım ve sonrasında vakit buldukça videolu ders formatına dönüştüreceğim o yüzden takipte kalın 🙂
Aşama aşama kod blokları ve amaçlarını açıklayacağım.
1.İşlem ziyaretçilere wp-admin – wp-login sayfalarını kullanıma kapatmamız ve doğrudan web sayfamızın ana sayfasına yönlendirmemiz gerekiyor . Aşağıdaki kodumuzu functions.php içerisinde uygun bir yere yapıştırıyoruz.
// wp-login, wp admin ve GET sorgularını pasif hale getirir ve anasayfaya yönlendirir //
function privacy_login_page()
{
$sitehomepage = get_bloginfo('url'); // Anasayfa Linkimiz
$param = basename($_SERVER['REQUEST_URI']); // Gelen Sorgu Linki
if ($param == 'wp-login.php' || $param == 'wp-admin.php' || $_GET["redirect_to"] || $_GET["loggedout"]) {
wp_redirect($sitehomepage);
}
}
add_action('init', 'privacy_login_page');
// wp-login, wp admin ve GET sorgularını pasif hale getirir ve anasayfaya yönlendirir //
Bu kod sonrası benim sitem ve sizin sitenize wp-admin wp-login.php ve diğer tüm sorgulara erişim engellenmiş durumda olur ve bu linklere girdiğinizde sizi ana sayfa’ya yönlendirir.
2. işlem yapacağımız özel sayfa sayesinde giriş sayfamızın linkini sadece biz bileceğiz ve dilediğimiz an bu yolu ( linki ) değiştirebileceğiz.
Bunun için hemen page-privacy-login.php adında bir sayfa oluşturup hemen içerisine aşağıdaki kodların tamamını yazıyoruz. Sayfamızın adını dilediğimiz zaman değiştirebiliriz.Kodları kendi temanıza, style.css dosyanıza göre şekillendirebilirsiniz.
<?php
/**
* Template Name: İki Aşamalı Giriş Sayfası
*/
$date_check = date('d.m.Y'); // Şu an ki tarihi değişkene atıyoruz
get_header(); ?>
<?php get_sidebar(''); ?>
<h2><?php the_title(''); ?></h2>
<?php
if(!$_POST["onepass"]){?>
<h3>Bu sayfada iki aşamalı giriş sistemi bulunmaktadır</h3>
<p>Lütfen gecici anahtar kodunuzu aşağıdaki kutucuğa yazın ve devam edin.</p>
<form method="POST" name="onesecurity">
<input type="text" name="onepass" placeholder="Geçici Anahtar Kodunuz">
</br>
<input type="submit" name="onesecurity" value="Kontrol et, işleme devam et">
</form>
<?php } ?>
<?php
if($_POST["onepass"]){
if($date_check == $_POST["onepass"]){
?>
<h3>Geçici kod aşamasını tamamladınız.</h3>
<p>Şimdi wordpress bilgileriniz ile sisteme giriş yapabilirsiniz</p>
<form method="POST" action="<?php bloginfo('url') ?>/wp-login.php">
<input type="text" name="log" id="log" value="<?php echo wp_specialchars(stripslashes($user_login), 1) ?>" placeholder="Kullanıcı Adı">
</br>
<input type="password" name="pwd" id="pwd" placeholder="Parolanız">
</br>
<input type="hidden" name="redirect_to" value="<?php echo site_url( '/wp-admin', 'http' ); ?>" />
<?php do_action('login_form'); ?>
<input type="submit" value="Giriş Yap">
</form>
<?php } else { ?>
<h3>Geçici kodu eksik ya da hatalı yazdınız.</h3>
<p>Lütfen bir önceki sayfaya dönerek tekrar deneyiniz</p>
<?php }}?>
<?php get_footer(); ?>
PHP sayfamızı oluşturduktan sonra FTP’mize atıp yeni sayfa ekle deyip sağ kısımdaki kutucuklardan Sayfa Özellikleri ve şablondan ” İki Aşamalı Giriş Sayfası ” isimi olanı seçip yayınlıyoruz.Bu sayfanın içeriğinde neler var hemen maddeler halinde anlatayım.
- Bugünün tarihini gün ay yıl olarak değişkene atadık.
- Sitedeki iki aşamalı sorgu olayı burada başlıyor ve geçici anahtar kodumuz bugünün tarihi olacak. Giriş formundan önce bize bugünün tarihini soracak bugünün tarihini xx.xx.xxxx formatında girdiğimizde değişkendeki değer ile karşılaştırıp bize giriş formunu getiriyor.
- Bu değişken yerine başka şeylerde koyabilirsiniz. Örneğin saat, dakika, saniye ya da belirleyeceğiniz bir kelime olabilir.
Benim oluşturduğum sayfada hemen buradan test yapabilirsiniz. Form gelecek fakat kodları sildim yani giriş yapmayı denemeyin çünkü pasif haldeler .. Fakat siz de sorunsuz çalışacaktır. Benim yazdığım bu sistemde geçici kodu günün tarihi olarak belirledim ( gün.ay.yıl ) tekrar bahsediyorum siz bu değişkene dilediğiniz herşeyi atayabilirsiniz.
Tüm işlemleri sırası ile doğru yaptıysanız artık sadece size özel bir giriş sayfanız oluşturuldu demektir.. Artık sitenize wordpress bilen kişiler giriş sorgusu gönderemez, deneme yapamazlar.
Özellikle kurumsal firmalara bu şekilde kodlama yaparsanız güvenliği 2 katına çıkarmış olursunuz. Hiç bilmediğiniz eklentileri ( popüler bile olsa ) kullanmamaya özen gösterin. 10 satır kod ile işlemlerimizi yaptık.
İşlem sırasında karşılaştığınız her türlü problemi yorum alanına yazın çözümü birlikte arayalım.. Bugün kü wordpress ipucununda sonuna geldik 🙂
Faydalı gördüğünüz yazılarımı paylaşarak daha çok insana erişebilmemi sağlayabilirsiniz.
Teşekkürler, bol pixelli günler dilerim!
Bu yazımı favorileri listene ekle Bu yazımda illegal işlem ya da hatalı konulardan bahsettiğimi düşünüyorsanız benimle iletişime geçebilirsiniz
Etiketler
Wordpress aşamalı giriş sistemi, wordpress güvenlik, Wordpress Login, Wordpress Security Login form
Bu yazımı sosyal ağlarda paylaşmak istermisin ?
Bu yazım hakkında ne düşünüyorsunuz ?
Aslan
8 Ekim 2017 19:56
çok güzel bir konuya değinmişsiniz. Biraz tasarımsal olarak geliştirilse çok daha iyi olur
Gökhan
23 Kasım 2017 22:52
Merhaba Gökhan Bey.
Uzun zamandır böyle bir şey arıyordum, fakat ne yalan söylim bir şey anlamadım. anlatılanları yapmaya çalıştım ama bir türlü olmadı, yapamadım. Sorun benden kaynaklanıyor çünkü wordpress’te yeniyim. Sizden ricam eğer mümkünse veya daha önceden varsa bu konuyu videolu olarak anlatmanız mümkünmü acaba? Eminim ki o zaman benim gibi wordpress’te acemi olanlar için çok daha faydalı olur diye düşünüyorum. Şimdiden teşekkür eder, iyi çalışmalar dilerim.
Yazı hakkındaki düşüncelerinizi paylaşmak ister misiniz?