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执行速度全攻略(下)
Oct 09 PHP
PHP之变量、常量学习笔记
Mar 27 PHP
php 图片上添加透明度渐变的效果
Jun 29 PHP
PHP XML操作类DOMDocument
Dec 16 PHP
php实现12306火车票余票查询和价格查询(12306火车票查询)
Jan 14 PHP
简单实用的网站PHP缓存类实例
Jul 18 PHP
基于PHP的简单采集数据入库程序
Jul 30 PHP
PHP函数in_array()使用详解
Aug 20 PHP
php调整服务器时间的方法
Apr 03 PHP
PHP学习笔记(二):变量详解
Apr 17 PHP
Laravel中间件实现原理详解
Oct 09 PHP
详解phpstorm2020最新破解方法
Sep 17 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实现的支持断点续传的文件下载类
2014/09/23 PHP
检测codeigniter脚本消耗内存情况的方法
2015/03/21 PHP
PHP实现统计代码行数小工具
2019/09/19 PHP
探讨jQuery的ajax使用场景(c#)
2013/12/03 Javascript
node.js中watch机制详解
2014/11/17 Javascript
利用JavaScript的AngularJS库制作电子名片的方法
2015/06/18 Javascript
使用jquery实现仿百度自动补全特效
2015/07/23 Javascript
分享自己用JS做的扫雷小游戏
2016/02/17 Javascript
在页面中输出当前客户端时间javascript实例代码
2016/03/02 Javascript
分享10个优化代码的CSS和JavaScript工具
2016/05/11 Javascript
AngularJs bootstrap搭载前台框架——js控制部分
2016/09/01 Javascript
JavaScript中apply方法的应用技巧小结
2016/09/29 Javascript
ajax实现动态下拉框示例
2017/01/10 Javascript
Angularjs过滤器实现动态搜索与排序功能示例
2017/12/13 Javascript
angular.js实现列表orderby排序的方法
2018/10/02 Javascript
Node.js操作系统OS模块用法分析
2019/01/04 Javascript
ES6箭头函数和扩展实例分析
2020/05/23 Javascript
JS sort排序详细使用方法示例解析
2020/09/27 Javascript
[02:54]DOTA2英雄基础教程 暗影牧师戴泽
2013/12/05 DOTA
Python version 2.7 required, which was not found in the registry
2014/08/26 Python
python登录pop3邮件服务器接收邮件的方法
2015/04/30 Python
python制作一个桌面便签软件
2015/08/09 Python
Python读写Json涉及到中文的处理方法
2016/09/12 Python
Django Admin实现三级联动的示例代码(省市区)
2018/06/22 Python
Python实现端口检测的方法
2018/07/24 Python
使用python实现简单五子棋游戏
2019/06/18 Python
Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题
2019/07/15 Python
python爬取Ajax动态加载网页过程解析
2019/09/05 Python
Django bulk_create()、update()与数据库事务的效率对比分析
2020/05/15 Python
python反爬虫方法的优缺点分析
2020/11/25 Python
美国成衣女装品牌:CHICO’S
2016/09/19 全球购物
俄罗斯隐形眼镜和眼镜在线商店:Cronos
2020/06/02 全球购物
英文简历自荐信范文
2013/12/11 职场文书
大学生社会实践评语
2014/04/25 职场文书
学校党风廉政建设调研报告
2015/01/01 职场文书
《小蝌蚪找妈妈》教学反思
2016/02/23 职场文书