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 相关文章推荐
BBS(php &amp; mysql)完整版(三)
Oct 09 PHP
修改Zend引擎实现PHP源码加密的原理及实践
Apr 14 PHP
PHP curl模拟浏览器采集阿里巴巴的实现代码
Apr 20 PHP
163的邮件用phpmailer发送(实例详解)
Jun 24 PHP
解析PHP对现有搜索引擎的调用
Jun 25 PHP
html静态页面调用php文件的方法
Nov 13 PHP
PHP版本升级到7.x后wordpress的一些修改及wordpress技巧
Dec 25 PHP
php自定义函数br2nl实现将html中br换行符转换为文本输入中换行符的方法【与函数nl2br功能相反】
Feb 17 PHP
PHP解决中文乱码
Apr 28 PHP
PHP实现的登录页面信息提示功能示例
Jul 24 PHP
通过修改Laravel Auth使用salt和password进行认证用户详解
Aug 17 PHP
PHP数据对象映射模式实例分析
Mar 29 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中的字符串函数
2006/10/09 PHP
php上传文件问题汇总
2015/01/30 PHP
PHP积分兑换接口实例
2015/02/09 PHP
[原创]php常用字符串输出方法分析(echo,print,printf及sprintf)
2016/07/09 PHP
jQuery Tools tab(幻灯片)
2012/07/14 Javascript
jquery 实现上下滚动效果示例代码
2013/08/09 Javascript
鼠标移到div,浮层显示明细,弹出层与div的上边距左边距重合(示例代码)
2013/12/14 Javascript
js数组操作常用方法
2014/05/08 Javascript
深入理解javascript严格模式(Strict Mode)
2014/11/28 Javascript
JavaScript中number转换成string介绍
2014/12/31 Javascript
angularJS 中$scope方法使用指南
2015/02/09 Javascript
js实现对table动态添加、删除和更新的方法
2015/02/10 Javascript
简介JavaScript中的getSeconds()方法的使用
2015/06/10 Javascript
js鼠标点击按钮切换图片-图片自动切换-点击左右按钮切换特效代码
2015/09/02 Javascript
JavaScript面向对象之私有静态变量实例分析
2016/01/14 Javascript
简单介绍jsonp 使用小结
2016/01/27 Javascript
JS高阶函数原理与用法实例分析
2019/01/15 Javascript
node.js express框架实现文件上传与下载功能实例详解
2019/10/15 Javascript
js实现旋转的星空效果
2019/11/01 Javascript
vue-cli3.0实现一个多页面应用的历奇经历记录总结
2020/03/16 Javascript
python 实现归并排序算法
2012/06/05 Python
使用Python的PEAK来适配协议的教程
2015/04/14 Python
python斐波那契数列的计算方法
2018/09/27 Python
pycharm在调试python时执行其他语句的方法
2018/11/29 Python
用python求一重积分和二重积分的例子
2019/12/06 Python
Python使用PyQt5/PySide2编写一个极简的音乐播放器功能
2020/02/07 Python
django admin后管定制-显示字段的实例
2020/03/11 Python
意大利比基尼品牌:MISS BIKINI
2019/11/02 全球购物
LACOSTE波兰官网:Polo衫、服装和鞋类
2020/09/29 全球购物
详细的大学生创业计划书模板
2014/01/27 职场文书
毕业生自荐书
2014/02/03 职场文书
装饰活动策划方案
2014/02/11 职场文书
小学二年级数学教学计划
2015/01/20 职场文书
工作失职检讨书
2015/01/26 职场文书
优秀创业计划书分享
2019/07/19 职场文书
导游词之河姆渡遗址博物馆
2019/10/10 职场文书