v2.5.2
Giriş yap

action kullanmama

dadasbaba
494 defa görüntülendi

veri göndermede action kullanmiyorum aynı sayfada veri gönderimi yapıyorum ama htmlspecialchars() fonkisyonunu ihmal etmiyorum buna rağmen bir sorun çıkarmı?

venloress
1283 gün önce

Sanırım aynı sayfaya post etmenin sakıncılarını merak ediyorsun.
Öncelikle şöyle başlayayım. Formdan gelen verileri aynı sayfaya göndermen ekstra güvenlik sorunu yaratmaz. Genel olarak formlarda kullanman gereken önlemleri alman yeterlidir. Peki bunlar nedir;

  • CsrfToken => Sitemize girmeden bize sahte veriler göndermeye çalışanları durdurur.
  • Zararlı kodlardan arındırmak. (Örnek 0.1)
  • Form butonuna basılıp basılmadığını kontrol etmek (Örnek 0.2)
  • Başındaki ve sonundaki boşlukları silmek (Örnek 0.3)

[Önrek 0.1]

<?php
$csrfToken = md5(uniqid());
$_SESSION['csrfToken'] = $csrfToken;
?>
<form action="" method="post">
    <input name="text1" type="text">
    <input name="text2" type="text">
    
    <input name="csrfToken" value="<?= $csrfToken ?>" type="text" hidden>
    <button>gönder</button>
</form>
if ($_SESSION['csrfToken'] == $csrfToken) {
    //
}

[örnek 0.2]

$_POST = array_map(function($post){
            return htmlspecialchars($post);
        },$_POST);

[Örnek 0.3]

<form action="" method="post">
    <input name="text1" type="text">
    <input name="text2" type="text">
    <button name="button">gönder</button>
</form>
if ($_POST['button']) {
    //
}

[Örnek 0.4]

$name = trim($_POST['name']);