v2.5.2
Giriş yap

Php'de xss açığı kapatma

sdfg
324 defa görüntülendi ve 2 kişi tarafından değerlendirildi

Merhaba arkadaşlar. Yaptığım web sitesinde xss açığı var ve kapatmak istiyorum. Şimdi benim takıldığım kısım bu açığı kapatmak için örneğin $_POST["veri"] diye post aldığımızı varsayalım. Bunu htmlspecialchars($_POST["veri"]) şeklinde kullansam xss açığını kapatmak için yeterli midir? Örneğin bu veriyi veritabanında bu şekilde filtreleyerek kaydetsem tekrar echo ile ekrana bastırırkende bu fonksiyonu kullanmam gerekir mi?

Kısaca htmlspecialchars ile veriyi veritabanına kaydetmeden filtrelersem tekrar ekrana basarken başka bir işlem yapmam gerekir mi?

obiryesil
245 gün önce

"public function getSecurity($data) {

    if (is_array($data)) {
        $variable=array_map('htmlspecialchars',$data);
        $response =array_map('stripslashes',$variable);
        return $response;
    }
    else {
        $variable=htmlspecialchars($data);
        $response =stripslashes($variable);
        return $response;
    }
}"


zamanında böyle bir fonksiyon ile sorunu çözmüştüm.

Kullanımına örnek vermek gerekirse.
      " if (isset($_POST['save'])) {
                                if ($_POST['save'] == 1001) {
                                    $title = $_POST['titles'];
                                    $description = $_POST['description'];
                                    $addate = date('Y-m-d H:i:s');
                                    $statu = $_POST['statu'][0];

                                    $sql = "INSERT INTO vt_Name( titles, description, addate, user_id, statu) VALUES(?,?,?,?,?)";
                                    $args = [$title, $description, $addate, $user_id, $statu];
                                    $result = $adminclass->getSecurity($args);
                                    print $adminclass->pdoInsert($sql, $result);
                                }
                            }"
                            
                            

Burda yapılan $sql den gelen $args değişkenlerini getSecurity fonksiyonundan geçirip veritabanı saldırılarını veritabanı şişmesini engellemek.
ben bu şekilde kullanıyordum seninde işini çözmene yardımcı olur belki.