Get或Post提交值的非法数据处理


Posted in PHP onOctober 09, 2006

Get或Post提交值的非法数据处理 <?php

//********************************************************
//-- 程序名称:StrSwap V1.01
//-- 程序编写:[email]cngift@163.com[/email]
//-- 完成: 2002-8-1
//-- 程序用途:Get或Post提交值的非法数据处理
//-- 备注: 本程序需要加载在所有程序处理前使用,以便自动进行
//-- 程序中使用的变量的替换
//-- 由于发现严重BUG紧急升级
//-- Copyright By cngift ◎ 2002
//********************************************************

class StrSwap{

//当以Get方式提交变量时用于连接变量的连接符
var $GetSplitStr = "&&";
var $TempArray = array();
var $VariableArray = array();

//********************************************************
//-- 程序名称:Main()
//-- 程序用途:本类的默认运行方式
//-- 传入参数:无
//********************************************************

function Main(){

global $REQUEST_METHOD;
if("GET"==$REQUEST_METHOD){

$this->SubGetStrToArray();

}
if("POST"==$REQUEST_METHOD){

$this->SubPostStrToArray();

}

$this->GlobalVariable();

}

//********************************************************
//-- 程序名称:SubGetStrToArray()
//-- 程序用途:当变量以Get方式提交时所调用的方法
//-- 传入参数:无
//********************************************************

function SubGetStrToArray(){

global $QUERY_STRING;
$this->TempArray = explode($this->GetSplitStr,$QUERY_STRING);

for($i=0;$i<sizeof($this->TempArray);$i++){

$temp = explode('=',$this->TempArray[$i]);
$this->VariableArray[$i][0] = $temp[0];
$this->VariableArray[$i][1] = $this->StrReplace($temp[1]);

}

}

//********************************************************
//-- 程序名称:SubPostStrToArray()
//-- 程序用途:当变量以POST方式提交时所调用的方法
//-- 传入参数:无
//********************************************************

function SubPostStrToArray(){

global $_POST;
reset($_POST);
for($i=0;$i<count($_POST);$i++){

$this->VariableArray[$i][0] = key($_POST);
$this->VariableArray[$i][1] = $this->StrReplace($_POST[key($_POST)]);
next($_POST);
}

}

//********************************************************
//-- 程序名称:StrReplace()
//-- 程序用途:替换变量中的非法字符
//-- 传入参数:变量值
//********************************************************

function StrReplace($str){

$str = StripSlashes($str);
$str = str_replace(chr(92),'',$str);
$str = str_replace(chr(47),'',$str);
$str = str_replace(chr(10).chr(13),"<br>",$str);
$str = str_replace('<',"<",$str);
$str = str_replace('>',">",$str);
$str = str_replace(';',";",$str);
$str = str_replace('"',"“",$str);
$str = str_replace("'","‘",$str);
$str = str_replace(" "," ",$str);
$str = str_replace("/**/"," ",$str);

return trim($str);

}

//********************************************************
//-- 程序名称:GlobalVariable()
//-- 程序用途:声明变量为全局变量方便其他程序调用
//-- 传入参数:无
//********************************************************

function GlobalVariable(){

for($i=0;$i<sizeof($this->VariableArray);$i++){

global $$this->VariableArray[$i][0];
${$this->VariableArray[$i][0]} = $this->VariableArray[$i][1];

}

}

}

?>

PHP 相关文章推荐
php的字符串用法小结
Jun 08 PHP
按上下级层次关系输出内容的PHP代码
Jul 17 PHP
从零开始学YII2框架(一)通过Composer安装Yii2框架
Aug 20 PHP
PHP使用Mysql事务实例解析
Sep 08 PHP
php新浪微博登录接口用法实例
Dec 23 PHP
php+ajax实现无刷新动态加载数据技术
Apr 28 PHP
PHP SPL标准库之SplFixedArray使用实例
May 12 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
Feb 10 PHP
PhpStorm本地断点调试的方法步骤
May 21 PHP
PHP工厂模式、单例模式与注册树模式实例详解
Jun 03 PHP
laravel5.6框架操作数据curd写法(查询构建器)实例分析
Jan 26 PHP
深入解析PHP底层机制及相关原理
Dec 11 PHP
用Socket发送电子邮件
Oct 09 #PHP
编写自己的php扩展函数
Oct 09 #PHP
PHP输出控制功能在简繁体转换中的应用
Oct 09 #PHP
PHP 中执行系统外部命令
Oct 09 #PHP
PHP实现文件安全下载
Oct 09 #PHP
PHP - Html Transfer Code
Oct 09 #PHP
关于PHP中操作MySQL数据库的一些要注意的问题
Oct 09 #PHP
You might like
php地址引用(php地址引用的效率问题)
2012/03/23 PHP
php创建session的方法实例详解
2015/01/27 PHP
PHP获取ip对应地区和使用网络类型的方法
2015/03/11 PHP
smarty循环嵌套用法示例分析
2016/07/19 PHP
PHP入门教程之PHP操作MySQL的方法分析
2016/09/11 PHP
thinkPHP5框架导出Excel文件简单操作示例
2018/08/03 PHP
jQuery maxlength文本字数限制插件
2010/04/16 Javascript
js实现图片拖动改变顺序附图
2014/05/13 Javascript
javascript简单实现类似QQ头像弹出效果的方法
2015/08/03 Javascript
js获取iframe中的window对象的实现方法
2016/05/20 Javascript
深入理解js中this的用法
2016/05/28 Javascript
jQuery插件FusionCharts绘制的3D环饼图效果示例【附demo源码】
2017/04/02 jQuery
Angular.js实现获取验证码倒计时60秒按钮的简单方法
2017/10/18 Javascript
element-ui 限制日期选择的方法(datepicker)
2018/05/16 Javascript
深入浅析var,let,const的异同点
2018/08/07 Javascript
Vue $emit $refs子父组件间方法的调用实例
2018/09/12 Javascript
vue-iview动态新增和删除的方法
2020/06/17 Javascript
python中的装饰器详解
2015/04/13 Python
从Python的源码浅要剖析Python的内存管理
2015/04/16 Python
详解Python中表达式i += x与i = i + x是否等价
2017/02/08 Python
Python2.7基于笛卡尔积算法实现N个数组的排列组合运算示例
2017/11/23 Python
基于Python的文件类型和字符串详解
2017/12/21 Python
Java实现的执行python脚本工具类示例【使用jython.jar】
2018/03/29 Python
详解Python odoo中嵌入html简单的分页功能
2019/05/29 Python
python实现截取屏幕保存文件,删除N天前截图的例子
2019/08/27 Python
HTML5 LocalStorage 本地存储刷新值还在
2017/03/10 HTML / CSS
台湾SHOPRO购物行家:亚洲首创影视.3C.家电.优质购物平台
2018/05/07 全球购物
英国领先的鞋类零售商:Shoe Zone
2018/12/13 全球购物
英国最大的在线快递公司之一:ParcelHero
2019/11/04 全球购物
幼儿园校车司机的岗位职责
2014/01/30 职场文书
2014年人事科工作总结
2014/11/19 职场文书
事业单位考察材料范文
2014/12/25 职场文书
湘江北去观后感
2015/06/15 职场文书
JVM之方法返回地址详解
2022/02/28 Java/Android
服务器间如何实现文件共享
2022/05/20 Servers
MySql统计函数COUNT的具体使用详解
2022/08/14 MySQL