<?php
/**
* Created by PhpStorm.
* User: leodaido
* Date: 1/16/15
* Time: 3:58 PM
*/
require_once(dirname(__FILE__).'/../ClassLoader.php');
ClassLoader::Register();
$base_path = dirname(__FILE__).'/../';
ClassLoader::Load('PHPSanitizer', $base_path);
$sanitizer = PHPSanitizer::getInstance();
// pretty print function for examples output
function pp($type, $str_valid, $str_invalid, $cleaned_valid, $cleaned_invalid){
echo "Validation test for $type Type:\n";
echo "==================================\n";
echo "Valid String ($str_valid):\n";
echo "This is a valid string: ".$str_valid."\n";
echo "Cleaned: $cleaned_valid \n";
echo "-------------------------------------------------\n";
echo "Invalid String ($str_invalid):\n";
echo "This is an invalid string: ".$str_invalid."\n";
echo "Cleaned: $cleaned_invalid \n";
echo "-------------------------------------------------\n";
echo "\n\n";
}
echo "\n";
// PARANOID case
$str_valid = "ThisShouldBeValid";
$str_invalid = "This would be an invalid String 1,2,3...";
pp('PARANOID', $str_valid, $str_invalid, $sanitizer->cleanup($str_valid),$sanitizer->cleanup($str_invalid));
echo "\n\n";
// SYSTEM case
$str_valid = "This would be an invalid String 1,2,3";
$str_invalid = 'home/user/$ ls -ltra | wc -l 2>1&; (ps aux | grep apache)';
$sanitizer->setType(PHPSanitizer::SYSTEM);
pp('SYSTEM', $str_valid, $str_invalid, $sanitizer->cleanup($str_valid),$sanitizer->cleanup($str_invalid));
echo "\n\n";
// SQL case
$str_valid = "This would be an invalid String 1,2,3";
$str_invalid = 'SELECT * FROM USERS WHERE 1=1;';
$sanitizer->setType(PHPSanitizer::SQL);
pp('SQL', $str_valid, $str_invalid, $sanitizer->cleanup($str_valid),$sanitizer->cleanup($str_invalid));
echo "\n\n";
// HTML case
$str_invalid = 'I have lots of <a href="http://my.site.com">links</a> on this <a href="http://my.site.com">page</a> that I want to <a href="http://my.site.com">find</a> the positions.';
$str_valid = htmlentities($str_invalid, ENT_QUOTES);
$sanitizer->setType(PHPSanitizer::HTML);
pp('HTML', $str_valid, $str_invalid, $sanitizer->cleanup($str_valid),$sanitizer->cleanup($str_invalid));
echo "\n\n";
// INT case
$str_valid = "9223372036854775807";
$str_invalid = '-386.1e';
$sanitizer->setType(PHPSanitizer::INT);
pp('INT', $str_valid, $str_invalid, $sanitizer->cleanup($str_valid),$sanitizer->cleanup($str_invalid));
echo "\n\n";
// FLOAT case
$str_valid = "9223372036.854775807e-20";
$str_invalid = '1.8e307';
$sanitizer->setType(PHPSanitizer::FLOAT);
pp('FLOAT', $str_valid, $str_invalid, $sanitizer->cleanup($str_valid),$sanitizer->cleanup($str_invalid));
echo "\n\n";
|