Disallows a HTML tag from content

This commit is contained in:
Rodrigo Guimarães 2021-02-05 01:37:26 -03:00
parent 0fb53b61c4
commit 4c0deb392a
2 changed files with 17 additions and 6 deletions

View File

@ -904,10 +904,13 @@ abstract class Repository {
}
protected function sanitize_value($content) {
if( is_numeric($content) || empty($content) ) {
if (is_numeric($content) || empty($content) ) {
return $content;
}
$allowed_html = wp_kses_allowed_html('post');
$allowed_html = wp_kses_allowed_html('post');
unset($allowed_html["a"]);
return wp_kses(trim($content), $allowed_html);
}

View File

@ -21,6 +21,8 @@ class HTML_Injection extends TAINACAN_UnitTestCase
$Tainacan_Collections = \Tainacan\Repositories\Collections::get_instance();
$Tainacan_Item_Metadata = \Tainacan\Repositories\Item_Metadata::get_instance();
$link = '<a href="www.tainacan.org">link</a>';
$collection = $this->tainacan_entity_factory->create_entity(
'collection',
array(
@ -59,11 +61,17 @@ class HTML_Injection extends TAINACAN_UnitTestCase
$item_metadata->validate();
$item_metadata = $Tainacan_Item_Metadata->insert($item_metadata);
$this->assertEquals($collection->get_name(), 'collection name link link2');
$this->assertEquals($metadatum->get_name(), 'metadatum name link');
$this->assertEquals($item->get_title(), 'title item console.log("XSS")');
$this->assertEquals($item->get_description(), 'description item');
// $this->assertEquals($collection->get_name(), 'collection name link link2');
// $this->assertEquals($metadatum->get_name(), 'metadatum name link');
// $this->assertEquals($item->get_title(), 'title item console.log("XSS")');
// $this->assertEquals($item->get_description(), 'description item');
$this->assertEquals($item_metadata->get_value(), "alert('XSS')");
$item_metadata->set_value($link);
$item_metadata->validate();
$item_metadata = $Tainacan_Item_Metadata->update($item_metadata);
$this->assertEquals($item_metadata->get_value(), 'link');
//test terms
}
}