CronJob İçin Bir Kaç Güvenlik Önlemi
CronJob İçin Bir Kaç Güvenlik Önlemi
Selamlar arkadaşlar bu dersimizde cronjoba eklediğimiz dosyamız için güvenlik önlemi nasıl alınmalı bunlardan bahsedeceğim. Haydi gelin cronjob için bir kaç güvenlik önlemi alalım 🙂
1.Gizli Değişken
Gizli değişkenden kastımız aslında GET ile bir değer gönderilmesi. Yani cron dosyamızı sunucumuzda ya da direk ssh üzerinden cronjoba eklerken dosyaismi.php şeklinde değilde
dosyaismi.php?keycode=gizlianahtar gibi göndermeliyiz. Bu gizli anahtarı kontrol ederken ise şu şekilde kontrol etmeliyiz.
<?php
<?php * * * * * cron.php?keycode=gizlianahtar
if( $_GET['keycode'] !== 'gizlianahtar') die ("İzin verilmedi");
?>
Yukarıda bulunan kontrolün arasına cron kodlarımızı alırsak bir nebze olsun daha güvenli sayılacaktır.. Şimdi gelelim 2.güvenlik yöntemine.
2.Environment variable ( Çevre Değişkeni )
<?php
<?php SCRIPT_RUN_ENV=cronjob * * * * * cron.php
if (get_env('SCRIPT_RUN_ENV') != 'cron') { die('izin verilmedi');}
?>
Gizli değişken gibi benzer bir çözüm çevre değişkenidir. Bu değişken doğrudan crontab’da ayarlanır. Bu çözüm biraz daha iyidir, ancak yine de birisinin değeri bulması mümkündür. Bundan dolayı diğer bir güvenlik önlemimize geçelim.
3.IP adreslerini kontrol etmek
Aslında aralarında favorim bu 🙂 Cronjoba gelen istek gerçekten sunucunun kendi ip adresinden mi gelmiş yoksa gelmemiş mi kontrol edip crona dışarıdan ulaşılmasını engelleyebiliriz.
<?php
if( $_SERVER['REMOTE_ADDR'] != $_SERVER['SERVER_ADDR'] ){ die('İzin verilmedi');}
Yukarıda bulunan kodların arasına cron kodlarımızı yazarak güvenlik sorunlarının önüne geçmiş oluyoruz. Şimdi gelelim diğer bir güvenlik kontrolümüze.
4..htaccess Kullanımı
Htaccess kullanımı ile cron dosyamıza direkt olarak ulaşılmasını engelleyebiliriz elbetteki. Fakat buda tek başına bir çare değildir 🙂 Gelelim son bir yöntemimize.
5.Dizin dışına alın
Evet aralarında en sağlıklısı olabilecek olan budur aslında. Cron dosyamızı direkt web sitemizin olduğu dizin yani public_html olur httpdocs olur buralarda bulundurmamamız lazım.
Evet şimdi gelelim güzel bir kombinasyon yapmaya 🙂
- Cron dosyamızın adını şifreliyoruz yani calistir.php değilde md5 ile şifreleyerek ismini yazıyoruz yani ismi atıyorum 123123asdasdasd123131.php gibi bir şey olmalı dışarıdan bulunamaması adına.
- Dosyamızın adını şifreledikten sonra 1.ve 3.maddeyi uygulayabilirsiniz aynı anda. Böylelikle çok daha güvenli hale gelmiş olur.
Hizmetlerime göz atmak için tıklayınız.
Sonraki konuda görüşmek üzere
Kanalıma abone olmayı unutmayın 🙂..
Son zamanlarda araştırdığım bir konuydu, değerli bilgiler için teşekkürler.
Ben teşekkür ederim işinize yaradıysa ne mutlu 🙂