Günümüz teknolojisinde internet sektöründe en çok kullanılan programlama türlerinden biri olan "php" kodlamaları yaparken "sitenizde güvenlik açığı" oluşturmamasını sağlıyan ve bunlara dikkat etmeniz için 5 farklı önemli tavsiyem aşağıdadır.


Panellerinizde, veya yaptığınız sayfa işlemlerimde kullandığınız header() fonksiyonunu sayfanızda yaptığınız işleme göre aşağıdaki şekilde kodlayın.

Benim veya bir çok programcı arkadaşın yaptığı en önemli hatalardan biri yönetim paneli kodlarken. exit() komutunu çoğu zaman unutuyoruz.
Eğer böyle yaparsak sonrasında belirtmiş olduğunuz işlemler iptal olacaktır.

Eğer yapmazsanız örnek olarak yönetici sayfanıza erişim sağlanabilir, yönetici paneliniz görüntülenebilir.
header("Location: gidileceksayfa");
exit();
Dışardan almış olduğunuz GET - POST verilerini güvenli hala getirin.

$degisken = $_POST["degisken"];
$guvenlisqldegisken = mysql_real_escape_string($degisken); // Örnektir, Veritabanını girilecek veriyi ilk adımda güvenli hale getirme.

Tamamını tek kod kütüphanesi ile orta derece güvenli hale getirmek için;

	while (list($poskey, $posval) = each($_POST))
		{
			if (is_array($_POST[$poskey]))
			{
				foreach($_POST[$poskey] as $aydi=>$value)
				{
					$_POST[$poskey][$aydi] = mysql_real_escape_string($value);
				}
			}else{
				$_POST[$poskey] = mysql_real_escape_string($posval);
			}
		}
			while (list($poskey, $posval) = each($_GET))
		{
			if (is_array($_GET[$poskey]))
			{
				foreach($_GET[$poskey] as $aydi=>$value)
				{
					$_GET[$poskey][$aydi] = mysql_real_escape_string($value);
				}
			}else{
				$_GET[$poskey] = mysql_real_escape_string($posval);
			}
		}
Sisteminizde yaptığınız dışarıdan dosya yani file alışverişini güvenli hale getirin.
Örnek:

$degisken = $_FILES["ek"]["name"];
$uzanti = end(explode($degisken,"."));
if(strstr($uzanti,"php"))
{
	echo "Güvenlik tehlikesi olan dosya alışverişi";
}
else
{
	echo "Güvenlik tehlikesi olmayan dosya alışverişi";
}
Sisteminize gönderilen "Form POST-GET" veya "REQUEST" işlemlerinde gelen bilgiyi doğruladıkdan ve izin verdikten sonra işlemlerin yapılmasına izin verin.
Örnek: ( Basitleştirilmiş )
Güvenlik Karakteri Kontrolü ( Spama karşı )

<?php
ob_start();
session_start();
$randgk = rand(0,10000);
$_SESSION["gk"] = "$randgk";
?>
<form action="" name="adi" method="post">
<b><?php echo $randgk; ?>"</b>
<br>
<input type="text" name="isimsoyisim" value="isminizi yazın"><br>
<input type="text" name="gk" value="Gördüğünüz güvenlik kodunu girin">
</form>
<?php
if($_POST["gk"]==$_SESSION["gk"])
{
 echo "Güvenlik verisi doğru";
}
else
{
 echo "Güvenlik verisi yanlış.";	
}
?>
Sisteminizin veritabanında kayıtta tuttuğunuz şifreleri gerçek halleri ile değil "md5" veya başka bir şifreleme türü kullanarak kaydedin. Bunların şuanda en güvenlisi veya yaygını md5tir.

<?php
$sifre = "mesut";
$md5lenmis = md5($sifre);
echo $md5lenmis;
?>