CronJob İçin Bir Kaç Güvenlik Önlemi

cronjob-icin-bir-kac-guvenlik-onlemi

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.

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 🙂

  1. 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.
  2. Dosyamızın adını şifreledikten sonra 1.ve 3.maddeyi uygulayabilirsiniz aynı anda. Böylelikle çok daha güvenli hale gelmiş olur.

Sonraki konuda görüşmek üzere
Kanalıma abone olmayı unutmayın 🙂..

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

Yavuz Selim

Yavuz selim