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 相关文章推荐
在WIN98下以apache模块方式安装php
Oct 09 PHP
PHP入门学习的几个不错的实例代码
Jul 13 PHP
简单实现限定phpmyadmin访问ip的方法
Mar 05 PHP
php漏洞之跨网站请求伪造与防止伪造方法
Aug 15 PHP
symfony表单与页面实现技巧
Jan 26 PHP
如何打开php的gd2库
Feb 09 PHP
PHP设计模式之模板方法模式定义与用法详解
Apr 02 PHP
PHP设计模式之策略模式原理与用法实例分析
Apr 04 PHP
微信小程序发送订阅消息的方法(php 为例)
Oct 30 PHP
PHP 对象接口简单实现方法示例
Apr 13 PHP
PHP生成图表pChart的示例解析
Jul 31 PHP
宝塔面板出现“open_basedir restriction in effect. ”的解决方法
Mar 14 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中迭代器的简单实现及Yii框架中的迭代器实现方法示例
2020/04/26 PHP
JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)
2009/11/04 Javascript
Web前端设计模式  制作漂亮的弹出层
2010/10/29 Javascript
简单的代码实现jquery定时器
2013/11/17 Javascript
jQuery遍历json中多个map的方法
2015/02/12 Javascript
JavaScript数据结构与算法之栈详解
2015/03/12 Javascript
javascript中的 object 和 function小结
2016/08/14 Javascript
jquery根据一个值来选中select下的option实例代码
2016/08/29 Javascript
原生JS实现在线问卷调查投票特效
2017/01/03 Javascript
JS中的数组转变成JSON格式字符串的方法
2017/05/09 Javascript
详解Angular 中 ngOnInit 和 constructor 使用场景
2017/06/22 Javascript
JavaScript+HTML5实现的日期比较功能示例
2017/07/12 Javascript
JS实现的3des+base64加密解密算法完整示例
2018/05/18 Javascript
jQuery移动端跑马灯抽奖特效升级版(抽奖概率固定)实现方法
2019/01/18 jQuery
使用Vue 自定义文件选择器组件的实例代码
2020/03/04 Javascript
Vue简单实现原理详解
2020/05/07 Javascript
H5 js点击按钮复制文本到粘贴板
2020/11/19 Javascript
jquery实现穿梭框功能
2021/01/19 jQuery
Python struct.unpack
2008/09/06 Python
Python中的闭包总结
2014/09/18 Python
在Python中操作字典之setdefault()方法的使用
2015/05/21 Python
浅谈Python单向链表的实现
2015/12/24 Python
Python实现批量更换指定目录下文件扩展名的方法
2016/09/19 Python
Python快速从注释生成文档的方法
2016/12/26 Python
django静态文件加载的方法
2018/05/20 Python
python顺序的读取文件夹下名称有序的文件方法
2018/07/11 Python
python使用递归的方式建立二叉树
2019/07/03 Python
python打包成so文件过程解析
2019/09/28 Python
Python定义一个函数的方法
2020/06/15 Python
基于CSS3实现立方体自转效果
2016/03/01 HTML / CSS
澳大利亚在线划船、露营和钓鱼商店:BCF Australia
2020/03/22 全球购物
小学生期末自我鉴定
2014/01/19 职场文书
加拿大留学自荐信
2014/01/28 职场文书
管理学院毕业生自荐信范文
2014/03/10 职场文书
销售2014年度工作总结
2014/12/08 职场文书
单位接收证明格式
2015/06/18 职场文书