PHP Güvenliği #4

Çağırma Yöntemi (The Include Method)
Bu yöntemde genel güvenlik kontrollerinden sorumlu bir betik vardır ve diğer bütün betiklerin başında bu betik çağrılır. Bu betiğe uygun bir örnek security.inc :

<?php

switch ($_POST[’form’])
{
case ’login’:
$allowed = array();
$allowed[] = ’form’;
$allowed[] = ’input1’;
$allowed[] = ’input2’;

$sent = array_keys($_POST);

if ($allowed == $sent)
{
include ’/inc/logic/process.inc’;
}

break;
}

?>

Bu örnekte uygulamadaki bütün formlarda form, input1, input2 isimleri ile form elemanları olmalıdır. Bu kurala uygun bir form aşağıdaki gibi olabilir :

<form action=”/receive.php” method=”POST”>
<input type=”hidden” name=”form” value=”login” />
<p>Input 1:
<input type=”text” name=”input1″ /></p>
<p>Input 2:
<input type=”input2″ name=”input2″ /></p>
<input type=”submit” />
</form>

$allowed dizisi formlarda kullanıcak eleman isimlerinin kontrolü için kullanılıyor ve her for için ayrı olmalıdır. Bu kontrol ile formun düzgün olup olmadığı kontrol edilir ve process.inc dosyasında da veri kontrolu tamamlanır.
Not : Her dosyanın başında security.inc dosyasının çağırılmasını sağlamanın bir yolu da php.ini’de auto_prepend_file belirtecidir.



Yorum gönder