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 删除数组元素
Jan 16 PHP
linux下使用ThinkPHP需要注意大小写导致的问题
Aug 02 PHP
Linux Apache PHP Oracle 安装配置(具体操作步骤)
Jun 17 PHP
PHP 动态生成静态HTML页面示例代码
Jan 15 PHP
PHP改进计算字符串相似度的函数similar_text()、levenshtein()
Oct 27 PHP
php格式化日期实例分析
Nov 12 PHP
PHP下载远程文件到本地存储的方法
Mar 24 PHP
深入理解PHP内核(一)
Nov 10 PHP
Yii框架组件和事件行为管理详解
May 20 PHP
php获取flash尺寸详细数据的方法
Nov 12 PHP
PHP开发中解决并发问题的几种实现方法分析
Nov 13 PHP
php微信分享到朋友圈、QQ、朋友、微博
Feb 18 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
syphon 虹吸式咖啡冲泡冲煮倒水的得与失
2021/03/03 冲泡冲煮
php 用checkbox一次性删除多条记录的方法
2010/02/23 PHP
探讨PHP删除文件夹的三种方法
2013/06/09 PHP
解析关于wamp启动是80端口被占用的问题
2013/06/21 PHP
php addslashes 利用递归实现使用反斜线引用字符串
2013/08/05 PHP
PHP分页详细讲解(有实例)
2013/10/30 PHP
php生成PDF格式文件并且加密
2015/06/22 PHP
PHP中常见的缓存技术实例分析
2015/09/23 PHP
详解PHP的Laravel框架中Eloquent对象关系映射使用
2016/02/26 PHP
php生成验证码,缩略图及水印图的类分享
2016/04/07 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
Laravel6.18.19如何优雅的切换发件账户
2020/06/14 PHP
jQuery实现id模糊查询的小例子
2013/03/19 Javascript
jQuery之折叠面板的深入解析
2013/06/19 Javascript
判断某个字符在一个字符串中是否存在的js代码
2014/02/28 Javascript
js添加绑定事件的方法
2016/05/15 Javascript
AngularJS2中一种button切换效果的实现方法(二)
2017/03/27 Javascript
vuejs手把手教你写一个完整的购物车实例代码
2017/07/06 Javascript
使用jQuery实现简单的tab框实例
2017/08/22 jQuery
详解javascript appendChild()的完整功能
2018/08/18 Javascript
解决vue.js 数据渲染成功仍报错的问题
2018/08/25 Javascript
基于Vue实现可以拖拽的树形表格实例详解
2018/10/18 Javascript
layui使用表格渲染获取行数据的例子
2019/09/13 Javascript
python启动办公软件进程(word、excel、ppt、以及wps的et、wps、wpp)
2009/04/09 Python
更改Python命令行交互提示符的方法
2015/01/14 Python
Python闭包执行时值的传递方式实例分析
2018/06/04 Python
python如何给字典的键对应的值为字典项的字典赋值
2019/07/05 Python
windows环境中利用celery实现简单任务队列过程解析
2019/11/29 Python
HTML5拖放效果的实现代码
2016/11/17 HTML / CSS
英国珠宝和手表专家:Pleasance & Harper
2020/10/21 全球购物
static全局变量与普通的全局变量有什么区别
2014/05/27 面试题
大学生学习党课思想汇报
2014/01/03 职场文书
公民代理授权委托书
2014/09/24 职场文书
经典导游欢迎词
2015/01/26 职场文书
2015年暑期实践报告范文
2015/07/13 职场文书
React 高阶组件HOC用法归纳
2021/06/13 Javascript