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 相关文章推荐
Windows中使用计划任务自动执行PHP程序实例
May 09 PHP
WordPress中&quot;无法将上传的文件移动至&quot;错误的解决方法
Jul 01 PHP
Zend Framework动作助手(Zend_Controller_Action_Helper)用法详解
Mar 05 PHP
PHP实现bitmap位图排序与求交集的方法
Jul 28 PHP
PHP简单预防sql注入的方法
Sep 27 PHP
PHP实现的分页类定义与用法示例
Jul 05 PHP
PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析
Apr 20 PHP
PHP排序算法之堆排序(Heap Sort)实例详解
Apr 21 PHP
PHP生成(支持多模板)二维码海报代码
Apr 30 PHP
PHP实现字母数字混合验证码功能
Jul 11 PHP
laravel 多图上传及图片的存储例子
Oct 14 PHP
Laravel统一错误处理为JSON的方法介绍
Oct 18 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面向对象全攻略 (十) final static const关键字的使用
2009/09/30 PHP
php的memcache类分享(memcache队列)
2014/03/26 PHP
php通过session防url攻击方法
2014/12/10 PHP
[原创]php实现数组按拼音顺序排序的方法
2017/05/03 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
php实现生成带二维码图片并强制下载功能
2018/02/24 PHP
PHP进阶学习之类的自动加载机制原理分析
2019/06/18 PHP
Thinkphp 框架基础之入口文件功能、定义与用法分析
2020/04/27 PHP
JavaScript格式化数字的函数代码
2010/11/30 Javascript
只需一行代码,轻松实现一个在线编辑器
2013/11/12 Javascript
JS动态添加Table的TR,TD实现方法
2015/01/28 Javascript
jQuery实现点击查看大图并以弹框的形式居中
2016/08/08 Javascript
详解React-Todos入门例子
2016/11/08 Javascript
js遍历json的key和value的实例
2017/01/22 Javascript
React中jquery引用的实现方法
2017/09/12 jQuery
原生js封装添加class,删除class的实例
2017/11/06 Javascript
Vue实现动态添加或者删除对象和对象数组的操作方法
2018/09/21 Javascript
vue实现条件判断动态绑定样式的方法
2018/09/29 Javascript
值得收藏的八个常用的js正则表达式
2018/10/19 Javascript
JavaScript页面加载事件实例讲解
2019/09/01 Javascript
JQuery实现ul中添加LI和删除指定的Li元素功能完整示例
2019/10/16 jQuery
实现一个Vue自定义指令懒加载的方法示例
2020/06/04 Javascript
[01:11:08]Winstrike vs NB 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
跟老齐学Python之有容乃大的list(1)
2014/09/14 Python
Flask框架中密码的加盐哈希加密和验证功能的用法详解
2016/06/07 Python
python简单实现获取当前时间
2016/08/27 Python
我们为什么要减少Python中循环的使用
2019/07/10 Python
python的几种矩阵相乘的公式详解
2019/07/10 Python
python中温度单位转换的实例方法
2020/12/27 Python
欧舒丹澳洲版:L’OCCITANE
2017/07/17 全球购物
EVE LOM英国官网:全世界最好的洁面膏
2017/10/30 全球购物
Eton丹麦官网:精美的男式衬衫
2020/05/27 全球购物
求职信范文怎么写
2014/01/29 职场文书
考研经验交流会策划书
2015/11/02 职场文书
MySQL系列之七 MySQL存储引擎
2021/07/02 MySQL
SpringDataJPA在Entity中常用的注解介绍
2021/12/06 Java/Android