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 相关文章推荐
source.php查看源文件
Dec 09 PHP
用PHP实现的随机广告显示代码
Jun 14 PHP
加强版phplib的DB类
Mar 31 PHP
Android ProgressBar进度条和ProgressDialog进度框的展示DEMO
Jun 19 PHP
浅析PHP安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)
Jul 05 PHP
php取整函数ceil,floo,round的用法及介绍
Aug 31 PHP
PHP设置图片文件上传大小的具体实现方法
Oct 11 PHP
微信支付开发教程(一)微信支付URL配置
May 28 PHP
ThinkPHP连接数据库及主从数据库的设置教程
Aug 22 PHP
PHP嵌套输出缓冲代码实例
May 12 PHP
php基于curl实现的股票信息查询类实例
Nov 11 PHP
PHP递归的三种常用方式
Feb 28 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
给初学者的30条PHP最佳实践(荒野无灯)
2011/08/02 PHP
PHP实现PDO操作mysql存储过程示例
2019/02/13 PHP
ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例
2019/04/03 PHP
JavaScript 基础问答三
2008/12/03 Javascript
JavaScript模板入门介绍
2012/09/26 Javascript
javascript全局变量封装模块实现代码
2012/11/28 Javascript
Javascript页面添加到收藏夹的简单方法
2013/08/07 Javascript
javascript字母大小写转换的4个函数详解
2014/05/09 Javascript
DOM基础教程之使用DOM设置文本框
2015/01/20 Javascript
vue2.0嵌套路由实现豆瓣电影分页功能(附demo)
2017/03/13 Javascript
angular.js中解决跨域问题的三种方式
2017/07/12 Javascript
微信小程序数字滚动插件使用详解
2018/02/02 Javascript
Angular使用动态加载组件方法实现Dialog的示例
2018/05/11 Javascript
Vue动态控制input的disabled属性的方法
2018/06/26 Javascript
在微信小程序里使用watch和computed的方法
2018/08/02 Javascript
Vue 中对图片地址进行拼接的方法
2018/09/03 Javascript
详解vue中axios的使用与封装
2019/03/20 Javascript
vue.js 解决v-model让select默认选中不生效的问题
2020/07/28 Javascript
vue 修改 data 数据问题并实时显示操作
2020/09/07 Javascript
在Python下利用OpenCV来旋转图像的教程
2015/04/16 Python
Python的randrange()方法使用教程
2015/05/15 Python
python判断一个对象是否可迭代的例子
2019/07/22 Python
docker django无法访问redis容器的解决方法
2019/08/21 Python
Python多进程编程multiprocessing代码实例
2020/03/12 Python
哪些是python中web开发框架
2020/06/17 Python
PyQT5速成教程之Qt Designer介绍与入门
2020/11/02 Python
css3新单位vw、vh的使用教程
2018/03/23 HTML / CSS
Html5剪切板功能的实现代码
2018/06/29 HTML / CSS
html5 自定义播放器核心代码
2013/12/20 HTML / CSS
委托书模板
2014/04/04 职场文书
班子查摆四风个人对照检查材料思想汇报
2014/10/04 职场文书
公安机关查摆剖析材料
2014/10/10 职场文书
2015年禁毒宣传活动总结
2015/03/25 职场文书
可可西里观后感
2015/06/08 职场文书
读后感怎么写?书写读后感的基本技巧!
2019/12/10 职场文书
python计算列表元素与乘积详情
2022/08/05 Python