php 对输入信息的进行安全过滤的函数代码


Posted in PHP onJune 29, 2012
// define constannts for input reading 
define('INPUT_GET', 0x0101); 
define('INPUT_POST', 0x0102); 
define('INPUT_GPC', 0x0103); /** 
* Read input value and convert it for internal use 
* Performs stripslashes() and charset conversion if necessary 
* 
* @param string Field name to read 
* @param int Source to get value from (GPC) 
* @param boolean Allow HTML tags in field value 
* @param string Charset to convert into 
* @return string Field value or NULL if not available 
*/ 
function get_input_value($fname, $source, $allow_html=FALSE, $charset=NULL) { 
$value = NULL; 
if ($source == INPUT_GET && isset($_GET[$fname])) 
$value = $_GET[$fname]; 
else if ($source == INPUT_POST && isset($_POST[$fname])) 
$value = $_POST[$fname]; 
else if ($source == INPUT_GPC) { 
if (isset($_POST[$fname])) 
$value = $_POST[$fname]; 
else if (isset($_GET[$fname])) 
$value = $_GET[$fname]; 
else if (isset($_COOKIE[$fname])) 
$value = $_COOKIE[$fname]; 
} 
if (empty($value)) 
return $value; 
// strip single quotes if magic_quotes_sybase is enabled 
if (ini_get('magic_quotes_sybase')) 
$value = str_replace("''", "'", $value); 
// strip slashes if magic_quotes enabled 
else if (get_magic_quotes_gpc() || get_magic_quotes_runtime()) 
$value = stripslashes($value); 
// remove HTML tags if not allowed 
if (!$allow_html) 
$value = strip_tags($value); 
// convert to internal charset 
return $value; 
}

用法:get_input_value('_uid', INPUT_GET)
PHP 相关文章推荐
使用php4加速网络传输
Oct 09 PHP
抓取YAHOO股票报价的类
May 15 PHP
php小技巧 把数组的键和值交换形成了新的数组,查找值取得键
Jun 02 PHP
php生成静态文件的多种方法分享
Jul 17 PHP
解析php中array_merge与array+array的区别
Jun 21 PHP
php使用websocket示例详解
Mar 12 PHP
PHP利用APC模块实现大文件上传进度条的方法
Oct 29 PHP
Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册
Dec 27 PHP
PHP实现的mysql主从数据库状态检测功能示例
Jul 20 PHP
Laravel中Facade的加载过程与原理详解
Sep 22 PHP
浅析php如何实现爬取数据原理
Sep 27 PHP
如何在Mac上通过docker配置PHP开发环境
May 29 PHP
PHP删除数组中的特定元素的代码
Jun 28 #PHP
PHP安全性漫谈
Jun 28 #PHP
PHP连接SQLSERVER 注意事项(附dll文件下载)
Jun 28 #PHP
深入了解 register_globals (附register_globals=off 网站打不开的解决方法)
Jun 27 #PHP
php数组中删除元素的实现代码
Jun 22 #PHP
php数据结构与算法(PHP描述) 查找与二分法查找
Jun 21 #PHP
通过PHP的内置函数,通过DES算法对数据加密和解密
Jun 21 #PHP
You might like
php统计文件大小,以GB、MB、KB、B输出
2011/05/29 PHP
一个好用的PHP验证码类实例分享
2013/12/27 PHP
PHP file_get_contents函数读取远程数据超时的解决方法
2015/05/13 PHP
JavaScript中出现乱码的处理心得
2009/12/24 Javascript
iframe 异步加载技术及性能分析
2011/07/19 Javascript
Knockout数组(observable)使用详解示例
2013/11/15 Javascript
常用jQuery选择器总结
2014/07/11 Javascript
node.js中的favicon.ico请求问题处理
2014/12/15 Javascript
JavaScript的原型继承详解
2015/02/15 Javascript
JS实现仿中关村论坛评分后弹出提示效果的方法
2015/02/23 Javascript
JS自动倒计时30秒后按钮才可用(两种场景)
2015/08/31 Javascript
jquery简单实现带渐显效果的选项卡菜单代码
2015/09/01 Javascript
JavaScript+canvas实现七色板效果实例
2016/02/18 Javascript
jQuery tagsinput在h5邮件客户端中应用详解
2016/09/26 Javascript
详解Angular CLI + Electron 开发环境搭建
2017/07/20 Javascript
vue二级路由设置方法
2018/02/09 Javascript
详解webpack import()动态加载模块踩坑
2018/07/17 Javascript
axios如何利用promise无痛刷新token的实现方法
2019/08/27 Javascript
layer插件实现在弹出层中弹出一警告提示并关闭弹出层的方法
2019/09/24 Javascript
[02:22]完美世界DOTA2联赛PWL S3 集锦第一期
2020/12/15 DOTA
浅谈Python的文件类型
2016/05/30 Python
python函数的5种参数详解
2017/02/24 Python
深入理解python中的select模块
2017/04/23 Python
python使用opencv读取图片的实例
2017/08/17 Python
django使用LDAP验证的方法示例
2018/12/10 Python
在pandas中遍历DataFrame行的实现方法
2019/10/23 Python
python 第三方库paramiko的常用方式
2021/02/20 Python
泰国第一的化妆品网站:Konvy
2018/02/25 全球购物
美国时尚假发购物网站:Wigsbuy
2019/04/06 全球购物
Lucene推荐的分页方式是什么?
2015/12/07 面试题
电气工程自动化求职信
2014/03/14 职场文书
幼儿园大班毕业教师寄语
2014/04/03 职场文书
留学推荐信怎么写
2015/03/26 职场文书
2016年秋季趣味运动会开幕词
2016/03/04 职场文书
JavaScript实现优先级队列
2021/12/06 Javascript
斗罗大陆八大特殊魂兽,龙族始祖排榜首,第五最残忍(翠魔鸟)
2022/03/18 国漫