SunFilter is a simple PHP filter class.
The goal of this class is to let you; Secure data sent by the users/visitors (with Get or Post method) or created by the script (Cookie or Session) by sanitizing or validating them.
Data
attribute: This value sends by the users/visitors or uses value created by the script. This value may use GET (form or address bar) or POST (form) method, and Cookie or Session value.
Type
attribute: This value represents the type of data you want to achieve if you are sanitizing or the type of data you want to validate if you are validating. For sanitizing you can use; String, Float, Integer, URL, Email, or Special types. For validating you can use; Boolean, Float, Integer, Email, URL, Domain, IP, or MAC types.
To utilize this class, first import SunFilter.php into your project, and require it. SunFilter requires PHP 7.0+ to work.
require_once ('SunFilter.php');
Simple initialization:
$filter = new SunFilter();
Using GET method (form or address bar)
$filter = new SunFilter();
$data = $filter->sanitize($_GET['val'], 'string')->result(); // use: string, float, integer, url, email, special
echo $data;
Using POST method (form)
$filter = new SunFilter();
$data = $filter->sanitize($_POST['val'], 'string')->result(); // use: string, float, integer, url, email, special
echo $data;
Using COOKIE value
setcookie('val', '<b>SunFilter Class</b>', time()+60*60);
$filter = new SunFilter();
$data = $filter->sanitize($_COOKIE['val'], 'string')->result(); // use: string, float, integer, url, email, special
echo $data;
Using SESSION value
$_SESSION['val'] = '<b>SunFilter Class</b>';
$filter = new SunFilter();
$data = $filter->sanitize($_SESSION['val'], 'string')->result(); // use: string, float, integer, url, email, special
echo $data;
Encoding HTML special chars
$filter = new SunFilter();
$data = $filter->sanitize($_GET['val'], 'special')->result(); // html-encode '"<>& and characters with ascii value less than 32
echo $data;
Using GET method (form or address bar)
$filter = new SunFilter();
$result = $filter->validate($_GET['val'], 'integer')->result(); // use: boolean, float, integer, email, url, domain, ip, mac
if ( $result == true) {
echo 'Data is Integer.';
} else {
echo 'Data is not Integer.';
}
Using POST method (form)
$filter = new SunFilter();
$result = $filter->validate($_POST['val'], 'integer')->result(); // use: boolean, float, integer, email, url, domain, ip, mac
if ( $result == true) {
echo 'Data is Integer.';
} else {
echo 'Data is not Integer.';
}
Using COOKIE value
setcookie('val', 'sample@domain.com', time()+60*60);
$filter = new SunFilter();
$result = $filter->validate($_COOKIE['val'], 'email')->result(); // use: boolean, float, integer, email, url, domain, ip, mac
if ( $result == true) {
echo 'Data is Email.';
} else {
echo 'Data is not Email.';
}
Using SESSION value
$_SESSION['val'] = 'sample@domain.com';
$filter = new SunFilter();
$result = $filter->validate($_SESSION['val'], 'email')->result(); // use: boolean, float, integer, email, url, domain, ip, mac
if ( $result == true) {
echo 'Data is Email.';
} else {
echo 'Data is not Email.';
}
For more information; Please visit the PHP.Net documentation's "Sanitize Filters" and "Validate Filters" sections.