Neden HTML Arıtma benim zamanı oluşturulan yapılandırma ayarlarını görmezden geliyor?

0 Cevap php

Herkes! Doğal olarak ben hala HTML Arıtma ile kavga ediyorum ...

Yani, benim / config / purifier.php gibi görünüyor:

<?php defined('SYSPATH') or die('No direct access allowed.');
return array(
    'settings' => array(
        'HTML.Allowed' =>'a,b,strong,p,ul,ol,li,img[src],i,u,span,',
  'HTML.MaxImgLength' => 250,
  'CSS.MaxImgLength' => '250px'
            ),
);
?>

ve HTML Arıtma kendi filtresini kullanmak için Güvenlik :: clean_xss () yöntemini overloads.

I have created two helper functions for data sanitation: clean_whitelist(), which strips anything not allowed by my HTML.Allowed setting in the config file. and clean_all(), which strips all tags and ignores fields that are passed in as ignore

 public static function clean_all(array $dirty_data, array $ignore) {
  $config = Kohana::config('purifier');
  $settings =  $config['settings'];
  $config->set('settings', array ('HTML.Allowed'=>''));
  foreach($dirty_data as $key => $value) {
   if( ! in_array($key, $ignore)) {
    $dirty_data[$key] = Security::xss_clean($dirty_data[$key]);
   }
  } 
  return $dirty_data;
 }

 public static function clean_whitelist($dirty_data) {
  return Security::xss_clean($dirty_data);
 }

clean_whitelist () beklendiği gibi çalışır, ancak, clean_all hala etiketleri sağlar. Tamamen emin niçin, ben $config->set aradıktan sonra ben Kohana::config('purifier') yeni bir yük var_dump olduğu gibi, dosya benim HTML.Allowed =>'' görüntüler ...

Herhangi ben zamanında inşa ettik yapılandırma dosyasını kullanarak aksine bir beyaz liste kullanmaya devam ediyor neden fikir?

Teşekkürler, her zaman olduğu gibi, herkes katkıda bulunmak için!

0 Cevap