PHP Form Verilerini Filtreleme

      Yorum yok PHP Form Verilerini Filtreleme

PHP scriptlerde oluşturulan formların güvenliğini sağlamak amaçlı PHP 5.2 sürümünden sonra çeşitli komutlar eklendi. Bu komutlar formdaki verilerin içine  iframe kodları , javascript üzerinde kullanan saldırı kodları(XSS vs.) dahil edilip sistem güvenliğinizi tehdit edebilecek girişimleri büyük oranda önlüyor.

 

örnek verecek olursak ;

filter_input_array(INPUT_POST,array(‘mesaj’=>FILTER_SANITIZE_SPECIAL_CHARS));

Yukarıdaki ilk parametredeki INPUT_POST formun methodunun post olduğunu belirtiyor.Formun methodu GET olsaydı INPUT_GET olacaktı yani.İkinci parametre yani “mesaj” formdan alınan name değerini gösteriyor.İşi biraz koda dökelim.

<?php
//Yazan : Burak Gültekin
// www.burakgultekin.com.tr
if($_POST)

{

$degerler=array(‘baslik’ => FILTER_SANITIZE_SPECIAL_CHARS,

‘mesaj’ => FILTER_SANITIZE_SPECIAL_CHARS);

$girdiler=filter_input_array(INPUT_POST,$degerler);

echo “Baslik:”.$girdiler[‘baslik’];

echo ‘<br>’;

echo “Mesaj:”.$girdiler[‘mesaj’];

}

else { ?>

<form method=”POST” action=””>

Başlık: <input type=”text” name=”baslik”>

Mesaj=<textarea rows=”5″ cols=”50″ name=”mesaj”></textarea>

<input type=”submit” value=”Gönder”>

</form>

<?php

} ?>

Formun iki kısmını da <script>alert(“Burak Gültekin”)</script> şeklinde doldurduğumuzu varsayalım. Normalde ekrana Burak Gültekin şeklinde bilgi mesajı gelmesi gerekirken filtreleme sisteminin vereceği çıktı ;

Baslik:<script>alert(“Burak Gültekin”)</script>
Mesaj:<script>alert(“Burak Gültekin”)</script>

bu şekilde olacaktır. Bunun dışında da FILTER_SANITIZE_EMAIL,FILTER_REQUİRE_ARRAY_FILTER_SANİTİZE_URL gibi komutlar bulunmaktadır. Mantıkları az çok aynı olmakla birlikte inşallah onlar içinde vakit bulduğumda yazı yazmak isterim.

Selametle.

 

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir