Created data filter to avoid XSS attack

This commit is contained in:
2017-09-11 11:32:14 +07:00
parent 146b5d33e6
commit 213f598631
3 changed files with 129 additions and 7 deletions

56
_tests/unit/XSSTest.php Normal file
View File

@@ -0,0 +1,56 @@
<?php
namespace Core;
class XSSTest extends \PHPUnit\Framework\TestCase
{
/**
*
* @test
*/
public function HindariSeranganXSSBerhasil() {
$args = [
'data_biasa' => 'Abcdefghijklmnopqrstuvwxyz',
'data_xss' => '<b>A</b><b>z</b>',
'data_xss_exclude' => '<i>A</i><i>z</i>',
'data_xss_exclude_2' => '<i>A</i><i>z</i>',
'data_xss_exclude_3' => '<i>A</i><i>z</i>',
];
$args['exclude'] = [
'data_xss_exclude',
'data_xss_exclude_3'
];
$expected = [
'data_biasa' => 'Abcdefghijklmnopqrstuvwxyz',
'data_xss' => '&lt;b&gt;A&lt;/b&gt;&lt;b&gt;z&lt;/b&gt;',
'data_xss_exclude' => '<i>A</i><i>z</i>',
'data_xss_exclude_2' => '&lt;i&gt;A&lt;/i&gt;&lt;i&gt;z&lt;/i&gt;',
'data_xss_exclude_3' => '<i>A</i><i>z</i>'
];
$this->assertEquals($expected, XSS::avoid($args));
}
/**
*
* @test
*/
public function DecodeDataXSSBerhasil() {
$args = [
'data_encode' => '&lt;b&gt;A&lt;/b&gt;&lt;b&gt;z&lt;/b&gt;',
'data_encode_exclude' => '&lt;b&gt;A&lt;/b&gt;&lt;b&gt;z&lt;/b&gt;'
];
$args['exclude'] = [
'data_encode_exclude'
];
$expected = [
'data_encode' => '<b>A</b><b>z</b>',
'data_encode_exclude' => '&lt;b&gt;A&lt;/b&gt;&lt;b&gt;z&lt;/b&gt;'
];
$this->assertEquals($expected, XSS::decode($args));
}
}