sorgulardaki açığı kapatmak için genel olarak bağlantı dosyamda nette bulduğum bir kaynağı kullandım sizce yeterlimidir ?
$inj = array ('select', 'insert', 'delete', 'update', 'drop table', 'union', 'null', 'SELECT', 'INSERT', 'DELETE', 'UPDATE', 'DROP TABLE', 'UNION', 'NULL','order by','order by');
for ($i = 0; $i < sizeof ($_GET); ++$i){ for ($j = 0; $j < sizeof ($inj); ++$j){ foreach($_GET as $gets){ if(preg_match ('/' . $inj[$j] . '/', $gets)){ $temp = key ($_GET); $_GET[$temp] = '';
exit;
continue;
}
}
}
}
Hayır yeterli değil, çok saçma bir fonksiyon.
Kim yazdıysa hiç php bilmiyormuş.
$_GET içine
".base64_decode("...base64 ile encode edilmiş sql sorgusu...")."
yazarak doğrudan sızılabilir.
Php öğrenmeye yeni başladıysanız doğru kaynaklardan öğrenmeniz lazım.
PHP'yi github gibi yerlerden öğrenmelisiniz hiç bir şey bilmeden öğrendiği azıcı php ile makale yazmaya çalışan phpcilerin bloglarından değil.
Güvenlik için aşağıdaki projelere göz atabilirsiniz.
https://github.com/search?utf8=✓&q=php+security