CodeIgniter: tüm $ _POST dizideki XSS filtreleme ile get_post kullanın

3 Cevap php

Daha kolay bir yolu daha var mı

foreach($_POST as $x=>$y){
  $arr[$x] = $this->input->get_post($y, TRUE);
}

Sadece CI XSS filtresi ile temizlenir tüm $ _POST dizi var. Get_post () sadece yerine tüm dizi temizleyin ve sonra tekrar dizi dönmek mümkün olmaktan çok bireysel bir değişken kabul olsa giriş kütüphanede bakıldığında öyle görünüyor.

3 Cevap

Emin değil küresel bunu istiyorum, ama eğer ze manuel ... yaparsanız:

Eğer filtre otomatik olarak size application / config / config.php dosyasını açarak ve bu ayarı etkinleştirebilirsiniz POST veya COOKIE verileri karşılaştığında her zaman çalıştırmak isterseniz:

$config['global_xss_filtering'] = TRUE;

Bunun için seçilen cevap bir anlamda doğru olduğunu ancak sağlanan bilgilerin CI XSS filtreleme gerçek soruna uygun bir çözüm değildir.

At bobince bazı iyi okuyarak Yorum ilerletmek için:

http://ponderwell.net/2010/08/codeigniter-xss-protection-is-good-but-not-enough-by-itself/

Ya htmlspecialchars'ın / htmlentities / urlencode her çıkışında ya da eve gitmek. CI XSS filtresi XSS saldırıları bir sürü başarısız tarihli ve kırık kara tekniği kullanır.

Kodlamak ve doğrulamak. Hep.

$this->input->post(NULL, TRUE);

XSS filtresi ile tüm POST maddelerini verir

$this->input->post();

XSS filtresi olmadan tüm POST maddelerini verir