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&java(二)
Oct 09 PHP
php生成缩略图的类代码
Oct 02 PHP
如何使用PHP批量去除文件UTF8 BOM信息
Aug 05 PHP
PHPMailer的主要功能特点和简单使用说明
Feb 17 PHP
PHP获取栏目的所有子级和孙级栏目的ID号示例
Apr 01 PHP
PHP 面向对象程序设计(oop)学习笔记 (五) - PHP 命名空间
Jun 12 PHP
php自动给网址加上链接的方法
Jun 02 PHP
php使用COPY函数更新配置文件的方法
Jun 18 PHP
Ubuntu下安装PHP的mongodb扩展操作命令
Jul 04 PHP
PHP操作Redis数据库常用方法示例
Aug 25 PHP
gearman中任务的优先级和返回状态实例分析
Feb 27 PHP
TP5框架实现一次选择多张图片并预览的方法示例
Apr 04 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中mysql_connect与mysql_pconncet的区别详解
2013/05/15 PHP
基于MySQL到MongoDB简易对照表的详解
2013/06/03 PHP
php提交过来的数据生成为txt文件
2016/04/28 PHP
网页上的Javascript编辑器和代码格式化
2010/04/25 Javascript
JQuery1.4+ Ajax IE8 内存泄漏问题
2010/10/15 Javascript
Js切换功能的简单方法
2010/11/23 Javascript
javascript获取xml节点的最大值(实现代码)
2013/12/11 Javascript
javascript调试过程中找不到哪里出错的可能原因
2013/12/16 Javascript
利用a标签自动解析URL分析网址实例
2014/10/20 Javascript
NodeJS中Buffer模块详解
2015/01/07 NodeJs
简单的jQuery入门指引
2015/07/28 Javascript
全面了解javascript三元运算符
2016/06/27 Javascript
微信小程序  网络请求API详解
2016/10/25 Javascript
vuex进阶知识点巩固
2018/05/20 Javascript
编写同时兼容Python2.x与Python3.x版本的代码的几个示例
2015/03/30 Python
在Python中使用base64模块处理字符编码的教程
2015/04/28 Python
python图书管理系统
2020/04/05 Python
Python中的Numpy矩阵操作
2018/08/12 Python
Python爬取qq空间说说的实例代码
2018/08/17 Python
Python实现的企业粉丝抽奖功能示例
2019/07/26 Python
树莓派4B安装Tensorflow的方法步骤
2020/07/16 Python
解决html5中video标签无法播放mp4问题的办法
2017/05/07 HTML / CSS
Staples英国官方网站:办公用品一站式采购
2017/10/06 全球购物
巴西购物网站:Submarino
2020/01/19 全球购物
西班牙Polo衫品牌:Polo Club
2020/08/09 全球购物
C#如何进行LDAP用户校验
2012/11/21 面试题
信息技术专业大学生职业生涯规划书
2014/01/24 职场文书
电力公司个人求职信范文
2014/02/04 职场文书
cf收人广告词
2014/03/14 职场文书
群众路线党员个人整改措施
2014/10/27 职场文书
Nginx配置并兼容HTTP实现代码解析
2021/03/31 Servers
Python 实现定积分与二重定积分的操作
2021/05/26 Python
SpringBoot快速入门详解
2021/07/21 Java/Android
MySql分区类型及创建分区的方法
2022/04/13 MySQL
使用CSS实现六边形的图片效果
2022/08/05 HTML / CSS
Java获取字符串编码格式实现思路
2022/09/23 Java/Android