php filter 安全过滤函数
php 利用filter 扩展编写的参数处理静态类,欢迎使用。希望大家看得开心,用得放心。
 input_get,				'post'	=> input_post,				'cookie'=> input_cookie,				'server'=> input_server,				'env'	=> input_env	);	public static $filtertype = array(			'string'	=>	filter_sanitize_string,			'int'		=>	filter_validate_int,			'boolean'	=>	filter_validate_boolean,			'float'		=>	filter_validate_float,			'regexp'	=>	filter_validate_regexp,			'url'		=>	filter_validate_url,			'email'		=>	filter_validate_email,			'ip'		=>	filter_validate_ip,	); 	/**	 * 支持过滤列表	 */	private static function lists()	{		return filter_list();	} 	/**	 * 验证类型	 * @param string $type	 */	public static function filtertype($type)	{		$filter_list = self::lists();		return array_search($type,$filter_list) !== false ? true : false;	} 	/**	 *	 * @param $setvartype	 */	private static function getvartype($setvartype)	{		$setvartype = strtoupper($setvartype);		return isset(self::$vartype[$setvartype]) ? self::$vartype[$setvartype] : null;	} 	/**	 *	 * @param string $setfiltertype	 */	private static function getfiltertype($setfiltertype)	{		$setfiltertype = strtoupper($setfiltertype);		return isset(self::$filtertype[$setfiltertype]) ? self::$filtertype[$setfiltertype] : null;	} 	/**	 * 检测参数是否存在	 * @param string $setvartype	 * @param string $varname	 */	public static function varexists($setvartype,$varname)	{		$filtervartype = self::getvartype($setvartype);		if (is_null($filtervartype))			return false;		return filter_has_var(self::$vartype[$filtervartype], $varname);	} 	/**	 *	 * @param string $setvartype	 * @param string $varname	 * @param string $filtertype	 */	public static function filterinput($setvartype, $varname, $filtertype = 'int')	{		$filtervartype = self::getvartype($setvartype);		$filtertype = self::getfiltertype($filtertype);		if (is_null($filtervartype) || is_null($filtertype))			return false;		return filter_input($filtervartype, $varname, $filtertype);	} 	/**	 * 验证变量	 * @param string $var	 * @param string $filtertype	 */	public static function filtervar($var,$filtertype)	{		$filtertype = self::getfiltertype($filtertype);		return filter_var($var, $filtertype);	} 	/**	 * 字符串	 * @param string $var	 */	public static function string($var)	{		return self::filtervar($var,'string');	} 	public static function int($var)	{		return self::filtervar($var,'int');	} 	public static function boolean($var)	{		return self::filtervar($var,'int');	} 	public static function float($var)	{		return self::filtervar($var,'float');	} 	/**	 *	 * @param string $var	 * @param array $option array(options=>array(regexp=>/^m(.*)/))	 */	public static function regexp($var,$option)	{		$filtertype = self::getfiltertype($filtertype);		return filter_var($var, $filtertype, $option);	} 	public static function url($var)	{		return self::filtervar($var,'url');	} 	public static function email($var)	{		return self::filtervar($var,'email');	} 	public static function ip($var)	{		return self::filtervar($var,'ip');	} }
?
参考地址:http://www.php.net/manual/en/book.filter.php
出处:?马丁博客[http://www.blags.org/]
本文链接地址:?http://www.blags.org/php-security-filter-function/
   
 
   