PHP projelerimde kullandığım pratik güvenlik işlemlerini yapan 2 fonksiyonumu sizlerle paylaşmak istedim. Çalışma mantığı gayet basit : $_POST[] ve $_GET[] ile gelen tüm verileri basit bir filtrelerden geçiriyor. Bu filtreler ise htmlspecialchars,mysql_real_escape_string fonksiyonları ve benim aklıma gelen metin ve karakterleri değiştiren basit bir replace işleminden oluşuyor.

<?php
/**
 * @author İsmail Perim <http://ismailperim.net> <ismailperim@gmail.com>
 * @copyright 2009 © İsmail Perim <http://ismailperim.net> <ismailperim@gmail.com>
 * @license Licensed under the GNU General Public License, version 2. 
 * @license the file http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
 * @version $Id: genel.guvenlik.php  2010-01-31 17:09:06$
 **/
class Guvenlik
{ 
 
    public static function Kontrol()
    {
        $p = count($_POST);
        $pa = array_keys($_POST);
        for($pi = 0;$pi<@$p;$pi++)
        {
            $_POST[$pa[$pi]] = Guvenlik::Filtre($_POST[$pa[$pi]]);
        }
        $g = count($_GET);
        $ga = array_keys($_GET);
        for($gi = 0;$gi<@$g;$gi++)
        {
            $_GET[$ga[$gi]] = Guvenlik::Filtre($_GET[$ga[$gi]]);
        }
    }
    public static function Filtre($q)
    {
        $q = mysql_real_escape_string(htmlspecialchars($q));
        $ara = array('"','#',"'",'*','+',';',"`",'OR','or','Or','oR');
        $bul = array('&quot;','#',''','*','+',';','`','','','','');
        $q = str_replace($ara,$bul,$q);
        return $q;
    }
 
 
 
?>
Daha başka neler yapabileceğimiz konusunda önerilerinizi bekliyorum...

Orjinal Yazı