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中的Base62类(适用于数值转字符串)
Aug 12 PHP
谈谈你对Zend SAPIs(Zend SAPI Internals)的理解
Nov 10 PHP
PHP设计模式之观察者模式实例
Feb 22 PHP
php pdo oracle中文乱码的快速解决方法
May 16 PHP
PHP书写格式详解(必看)
May 23 PHP
PHP实现清除MySQL死连接的方法
Jul 23 PHP
php基于curl主动推送最新内容给百度收录的方法
Oct 14 PHP
php文件管理基本功能简单操作
Jan 16 PHP
redirect_uri参数错误的解决方法(必看)
Feb 16 PHP
php显示页码分页类的封装
Jun 08 PHP
PHP中使用CURL发送get/post请求上传图片批处理功能
Oct 15 PHP
php设计模式之观察者模式定义与用法经典示例
Sep 19 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的preg_match匹配字符串长度问题解决方法
2014/05/03 PHP
PHP判断远程图片是否存在的几种方法
2014/05/04 PHP
PHP针对中英文混合字符串长度判断及截取方法示例
2017/03/31 PHP
PHP基于timestamp和nonce实现的防止重放攻击方案分析
2019/07/26 PHP
jQuery中jqGrid分页实现代码
2011/11/04 Javascript
jQuery AJAX实现调用页面后台方法和web服务定义的方法分享
2012/03/01 Javascript
IFrame跨域高度自适应实现代码
2012/08/16 Javascript
深入理解javascript构造函数和原型对象
2014/09/23 Javascript
jquery实现从数组移除指定的值
2015/06/24 Javascript
用jQuery向div中添加Html文本内容的简单实现
2016/07/13 Javascript
JQuery实现动态操作表格
2017/01/11 Javascript
JavaScript实现二分查找实例代码
2017/02/22 Javascript
Bootstrap表格制作代码
2017/03/17 Javascript
单击按钮发送验证码,出现倒计时的简单实例
2017/03/17 Javascript
深入理解 TypeScript Reflect Metadata
2019/12/12 Javascript
jquery实现两个div中的元素相互拖动的方法分析
2020/04/05 jQuery
VSCode launch.json配置详细教程
2020/06/18 Javascript
Python自动化测试工具Splinter简介和使用实例
2014/05/13 Python
对pandas中to_dict的用法详解
2018/06/05 Python
Anaconda2 5.2.0安装使用图文教程
2018/09/19 Python
解决Python一行输出不显示的问题
2018/12/03 Python
Python随机生成身份证号码及校验功能
2018/12/04 Python
python实现邮件自动发送
2019/08/10 Python
python每天定时运行某程序代码
2019/08/16 Python
python实现从wind导入数据
2019/12/03 Python
python 中值滤波,椒盐去噪,图片增强实例
2019/12/18 Python
如何使用Python破解ZIP或RAR压缩文件密码
2020/01/09 Python
CSS3制作半透明边框(Facebox)类似渐变
2012/12/09 HTML / CSS
伯利陶器:Burleigh Pottery
2018/01/03 全球购物
Regatta官网:英国最受欢迎的户外服装和鞋类品牌
2019/05/01 全球购物
外贸实习生自荐信范文
2013/11/24 职场文书
医药类个人求职的自我评价
2014/02/12 职场文书
白莲教口号
2014/06/18 职场文书
奶茶店创业计划书
2014/08/14 职场文书
综治维稳工作承诺书
2014/08/30 职场文书
关于JavaScript回调函数的深入理解
2021/06/27 Javascript