Skip to content

Instantly share code, notes, and snippets.

@qlife
Created July 26, 2011 07:17
Show Gist options
  • Save qlife/1106180 to your computer and use it in GitHub Desktop.
Save qlife/1106180 to your computer and use it in GitHub Desktop.
PHP filter extension
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>PHP filter</title>
<style type="text/css">
form {
margin: 0;
padding: 0px;
font-size: 100%;
width: 30%;
margin-left:auto;
margin-right:auto;
}
form fieldset {
_position : relative; /* The underscore means only IE will see it */
_padding-top : 20px; /* Stupid IE */
_padding-bottom : 15px;
_display : block;
clear: both;
font-size: 100%;
background-color : #DDF1F6;
border-color: #000000;
border-width: 1px ;
border-style: solid ;
padding: 10px;
margin: 0 0 0 0;
}
label {
float: left;
width: 6em;
margin-right: 1em;
text-align: left;
}
</style>
</head>
<body>
<form method="post" action="index.php">
<fieldset>
<legend>test for fun!</legend>
<label for="s1">a string</label>
<input type="text" id="s1" name="s1" /><br />
<label for="d1">a number</label>
<input type="text" id="d1" name="d1" />
<input type="submit" id="submit" name="submit" />
</fieldset>
</form>
<p>Syntax: <code>$var = filter_input(${Input_Source},'fieldname',Filter_ID);</code></p>
<?php
$s1[0] = filter_input(INPUT_POST,'s1',FILTER_SANITIZE_STRING);
$s1[1] = filter_input(INPUT_POST,'s1',FILTER_SANITIZE_STRIPPED);
$s1[2] = filter_input(INPUT_POST,'s1',FILTER_SANITIZE_ENCODED);
$s1[3] = filter_input(INPUT_POST,'s1',FILTER_SANITIZE_SPECIAL_CHARS);
$s1[6] = filter_input(INPUT_POST,'s1',FILTER_SANITIZE_MAGIC_QUOTES);
$s1[4] = filter_input(INPUT_POST,'s1',FILTER_SANITIZE_EMAIL);
$s1[5] = filter_input(INPUT_POST,'s1',FILTER_SANITIZE_URL);
$s1[7] = filter_input(INPUT_POST,'s1',FILTER_VALIDATE_URL);
$s1[8] = filter_input(INPUT_POST,'s1',FILTER_VALIDATE_EMAIL);
$s1[9] = filter_input(INPUT_POST,'s1',FILTER_VALIDATE_IP);
$s1[10] = escapeshellcmd($_POST['s1']);
$s1[11] = escapeshellarg($_POST['s1']);
echo '<p>';
echo 'FILTER_SANITIZE_STRING ' . $s1[0] . '<br />'."\n";
echo 'FILTER_SANITIZE_STRIPPED ' . $s1[1] . '<br /> '. "\n";
echo 'FILTER_SANITIZE_ENCODED ' . $s1[2] . '<br />'."\n";
echo 'FILTER_SANITIZE_SPECIAL_CHARS ' . $s1[3] . '<br />'."\n";
echo 'FILTER_SANITIZE_MAGIC_QUOTES ' .$s1[6] . '<br />'."\n";
echo 'FILTER_SANITIZE_EMAIL ' .$s1[4] . '<br />'."\n";
echo 'FILTER_SANITIZE_URL ' .$s1[5] . '<br />'."\n";
echo 'FILTER_VALIDATE_URL ' .$s1[7] . '<br />'."\n";
echo 'FILTER_VALIDATE_EMAIL ' .$s1[8] . '<br />'."\n";
echo 'FILTER_VALIDATE_IP ' .$s1[9] . '<br />'."\n";
echo 'escapeshellcmd ' .$s1[10] . '<br />'."\n";
echo 'escapeshellarg ' .$s1[11] . '<br />'."\n";
echo '</p>';
$d1[0] = filter_input(INPUT_POST,'d1',FILTER_VALIDATE_INT);
$d1[1] = filter_input(INPUT_POST,'d1',FILTER_VALIDATE_BOOLEAN);
$d1[2] = filter_input(INPUT_POST,'d1',FILTER_VALIDATE_FLOAT);
$dl[3] = filter_input(INPUT_POST,'d1',FILTER_SANITIZE_NUMBER_INT);
echo '<p>';
echo 'FILTER_VALIDATE_INT ' .$d1[0] . '<br />'."\n";
echo 'FILTER_VALIDATE_BOOLEAN ' .$d1[1] . '<br />'."\n";
echo 'FILTER_VALIDATE_FLOAT ' .$d1[2] . '<br />'."\n";
echo 'FILTER_SANITIZE_NUMBER_INT ' .$d1[3] . '<br />'."\n";
echo '</p>';
?>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment