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!