distilleries/security is a Laravel package for security middleweare and helper.
It currently has 2 GitHub stars and 15.157 downloads on Packagist (latest version v13.0.0).
Install it with composer require distilleries/security.
Discover more Laravel packages by distilleries
or browse all Laravel packages to compare alternatives.
Last updated
Is package to sanitize each data from middleware or it's can me use in standalone to sinitize strings.
Add on your composer.json
"require": {
"distilleries/security": "1.*",
}
run composer update.
Publish the configuration:
php artisan vendor:publish --provider="Distilleries\Security\SecurityServiceProvider"
return [
'xss_enable'=> env('SECURITY_XSS_ENABLE',true),
'html_purifier'=> env('SECURITY_HTML_PURIFIER_ENABLE',true)
];
Field | Usage ----- | ----- xss_enable | Enable Xss Clean on Middleware html_purifier | Enable Html purifier on Middleware
Add the Middleware on the kernel file.
protected $middleware = [
\Distilleries\Security\Http\Middleware\XSS::class
];
You can use the class Security to sanitize data directly
$xss = new \Distilleries\Security\Helpers\Security();
$xss->xss_clean('<a href="javascript:aler('test')">Click to alert</a>');
Should return Click to alert
This function is a replacement for html_entity_decode()
The reason we are not using `html_entity_decode() by itself is because while it is not technically correct to leave out the semicolon at the end of an entity most browsers will still interpret the entity correctly. html_entity_decode() does not convert entities without semicolons, so we are left with our own little solution here. Bummer.
$xss = new \Distilleries\Security\Helpers\Security();
$xss->entity_decode(<a href="javascript:alert('test')">Test</a>');
Should return Test
$xss = new \Distilleries\Security\Helpers\Security();
$xss->sanitize_filename('./../test.jgp',true);
Should display ./test.jpg instead of ./../test.jgp. The last parameter it's to allow or disallow relative path
$xss = new \Distilleries\Security\Helpers\Security();
$xss->sanitize_filename('./../test.jgp',false);
Should display test.jpg instead of ./../test.jgp.