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 相关文章推荐
PHP 清空varnish 缓存的详解(包括指定站点下的)
Jun 20 PHP
PHP入门之常量简介和系统常量
May 12 PHP
PHP使用GIFEncoder类生成的GIF动态图片验证码
Jul 01 PHP
PHP遍历数组的三种方法及效率对比分析
Feb 12 PHP
PHP安全下载文件的方法
Apr 07 PHP
详解PHP实现定时任务的五种方法
Jul 25 PHP
php文件上传 你真的掌握了吗
Nov 28 PHP
php中的单引号、双引号和转义字符详解
Feb 16 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
Sep 22 PHP
PHP自定义递归函数实现数组转JSON功能【支持GBK编码】
Jul 17 PHP
关于laravel后台模板laravel-admin select框的使用详解
Oct 03 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
Feb 27 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模拟asp中的XmlHttpRequest实现http请求的代码
2011/03/24 PHP
PHP的命令行命令使用指南
2015/08/18 PHP
php指定长度分割字符串str_split函数用法示例
2017/01/30 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
2017/06/17 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
php 广告点击统计代码(php+mysql)
2018/02/21 PHP
ThinkPHP5.1验证码功能实现的示例代码
2020/06/08 PHP
javascript 数组学习资料收集
2010/04/11 Javascript
Js如何判断客户端是PC还是手持设备简单分析
2012/11/22 Javascript
javascript setTimeout和setInterval计时的区别详解
2013/06/21 Javascript
jquery获取子节点和父节点的示例代码
2013/09/10 Javascript
Js获取数组最大和最小值示例代码
2013/10/29 Javascript
JavaScript改变HTML元素的样式改变CSS及元素属性
2013/11/12 Javascript
两个多选select(multiple左右)添加、删除选项和取值实例
2014/05/12 Javascript
javascript使用正则获取url上的某个参数
2014/09/04 Javascript
深入理解JavaScript系列(44):设计模式之桥接模式详解
2015/03/04 Javascript
纯JavaScript实现的兼容各浏览器的添加和移除事件封装
2015/03/28 Javascript
jQuery使用animate实现ul列表项相互飘动效果示例
2016/09/16 Javascript
JavaScript之filter_动力节点Java学院整理
2017/06/28 Javascript
Angularjs的键盘事件的绑定
2017/07/27 Javascript
Angular实现的table表格排序功能完整示例
2017/12/22 Javascript
JS hasOwnProperty()方法检测一个属性是否是对象的自有属性的方法
2021/01/29 Javascript
PyCharm 常用快捷键和设置方法
2017/12/20 Python
简单了解Django模板的使用
2017/12/20 Python
Django框架之登录后自定义跳转页面的实现方法
2019/07/18 Python
Python抓包程序mitmproxy安装和使用过程图解
2020/03/02 Python
html5通过postMessage进行跨域通信的方法
2017/12/04 HTML / CSS
Nobody Denim官网:购买高级女士牛仔裤
2021/03/15 全球购物
学生个人求职自荐信格式
2013/09/23 职场文书
会计系毕业个人自荐信格式
2013/09/23 职场文书
高中校园广播稿
2014/01/11 职场文书
医务工作者先进事迹材料
2014/01/26 职场文书
《美丽的南沙群岛》教学反思
2014/04/27 职场文书
赡养老人协议书范本
2015/08/06 职场文书
大学毕业生自我鉴定范文
2019/06/21 职场文书
如何写好活动总结
2019/06/21 职场文书