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 时间计算问题小结
Jan 04 PHP
php Undefined index的问题
Jun 01 PHP
php的urlencode()URL编码函数浅析
Aug 09 PHP
PHP插入排序实现代码
Apr 04 PHP
CentOS 6.2使用yum安装LAMP以及phpMyadmin详解
Jun 17 PHP
PHP中VC6、VC9、TS、NTS版本的区别与用法详解
Oct 26 PHP
php截取中文字符串不乱码的方法
Dec 25 PHP
PHP英文字母大小写转换函数小结
May 03 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
Sep 22 PHP
CI框架学习笔记(二) -入口文件index.php
Oct 27 PHP
php变量与JS变量实现不通过跳转直接交互的方法
Aug 25 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
Feb 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在window iis的莫名问题的测试方法
2013/05/14 PHP
探讨PHP中this,self,parent的区别详解
2013/06/08 PHP
thinkphp文件引用与分支结构用法实例
2014/11/26 PHP
PHP中error_reporting函数用法详细介绍
2017/06/11 PHP
使用ucenter实现多站点同步登录的讲解
2019/03/21 PHP
PHP 数组操作详解【遍历、指针、函数等】
2020/05/13 PHP
Alliance vs AM BO3 第一场2.13
2021/03/10 DOTA
JavaScript 学习笔记 Black.Caffeine 09.11.28
2009/11/30 Javascript
js 操作select和option常用代码整理
2012/12/13 Javascript
阻止事件(取消浏览器对事件的默认行为并阻止其传播)
2013/11/03 Javascript
jquery实现简单易懂的图片展示小例子
2013/11/21 Javascript
Node.js操作mysql数据库增删改查
2016/03/30 Javascript
jQuery移动端日期(datedropper)和时间(timedropper)选择器附源码下载
2016/04/19 Javascript
新手入门js闭包学习过程解析
2019/10/08 Javascript
[04:13]2014DOTA2国际邀请赛 专访DC目前形势不容乐观
2014/07/12 DOTA
Python字符串的encode与decode研究心得乱码问题解决方法
2009/03/23 Python
初学python的操作难点总结(新手必看篇)
2017/08/03 Python
python批量下载抖音视频
2019/06/17 Python
python文件绝对路径写法介绍(windows)
2019/12/25 Python
pytorch 实现模型不同层设置不同的学习率方式
2020/01/06 Python
tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式
2020/01/23 Python
python2.7使用scapy发送syn实例
2020/05/05 Python
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
2020/06/22 Python
Python+Appium实现自动化清理微信僵尸好友的方法
2021/02/04 Python
解决Python import .pyd 可能遇到路径的问题
2021/03/04 Python
澳大利亚工具仓库:Tools Warehouse
2018/10/15 全球购物
法国足球商店:Footcenter
2019/07/06 全球购物
Linux中如何用命令创建目录
2016/12/02 面试题
家长给老师的道歉信
2014/01/13 职场文书
旅游网创业计划书
2014/01/31 职场文书
艾滋病宣传标语
2014/06/25 职场文书
展览会邀请函
2015/02/02 职场文书
计划生育工作总结2015
2015/04/03 职场文书
保险内勤岗位职责
2015/04/13 职场文书
有关朝花夕拾的读书笔记
2015/06/29 职场文书
Python天气语音播报小助手
2021/09/25 Python