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 xml-rpc远程调用
Dec 19 PHP
备份mysql数据库的php代码(一个表一个文件)
May 28 PHP
php入门学习知识点四 PHP正则表达式基本应用
Jul 14 PHP
php中的PHP_EOL换行符详细解析
Oct 26 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(六)
Jun 23 PHP
ThinkPHP查询返回简单字段数组的方法
Aug 25 PHP
PHP动态编译出现Cannot find autoconf的解决方法
Nov 05 PHP
9个实用的PHP代码片段分享
Jan 22 PHP
搭建基于Docker的PHP开发环境的详细教程
Jul 01 PHP
浅析php如何实现爬取数据原理
Sep 27 PHP
Thinkphp5.0 框架Model模型简单用法分析
Oct 11 PHP
微信小程序发送订阅消息的方法(php 为例)
Oct 30 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 pear安装配置教程
2016/05/14 PHP
Prototype使用指南之string.js
2007/01/10 Javascript
JS之小练习代码
2008/10/12 Javascript
js 键盘记录实现(兼容FireFox和IE)
2010/02/07 Javascript
JQuery 文本框使用小结
2010/05/22 Javascript
设置checkbox为只读(readOnly)的两种方式
2013/10/11 Javascript
cookie中的path与domain属性详解
2013/12/18 Javascript
jQuery DOM插入节点操作指南
2015/03/03 Javascript
JavaScript提升性能的常用技巧总结【经典】
2016/06/20 Javascript
基于HTML+CSS+JS实现增加删除修改tab导航特效代码
2016/08/05 Javascript
Ubuntu 16.04 64位中搭建Node.js开发环境教程
2016/10/19 Javascript
一道面试题引发的对javascript类型转换的思考
2017/03/06 Javascript
js实现华丽的九九乘法表效果
2017/03/29 Javascript
js a标签点击事件
2017/03/30 Javascript
微信小程序 flex实现导航实例详解
2017/04/26 Javascript
如何理解Vue的作用域插槽的实现原理
2017/08/19 Javascript
angular项目中bootstrap-datetimepicker时间插件的使用示例
2018/03/15 Javascript
vue 本地服务不能被外部IP访问的完美解决方法
2018/10/29 Javascript
微信小程序录音实现功能并上传(使用node解析接收)
2020/02/26 Javascript
vue商城中商品“筛选器”功能的实现代码
2020/07/01 Javascript
JS实现4位随机验证码
2020/10/19 Javascript
前端如何实现动画过渡效果
2021/02/05 Javascript
[03:03]2014DOTA2国际邀请赛 EG战队专访
2014/07/12 DOTA
Python基础语言学习笔记总结(精华)
2017/11/14 Python
Python列表常见操作详解(获取,增加,删除,修改,排序等)
2019/02/18 Python
TensorFlow tf.nn.max_pool实现池化操作方式
2020/01/04 Python
HTML5实现QQ聊天气泡效果
2017/06/26 HTML / CSS
意大利折扣和优惠券网站:Groupalia
2019/10/09 全球购物
Abbott Lyon官网:女士手表、珠宝及配件
2020/12/26 全球购物
Linux文件操作命令都有哪些
2015/02/27 面试题
在职人员函授期间自我评价分享
2013/11/08 职场文书
医科学校毕业生自荐信
2013/11/09 职场文书
希特勒的演讲稿
2014/05/23 职场文书
2015大学党建带团建工作总结
2015/07/23 职场文书
大学军训通讯稿(2016最新版)
2015/12/21 职场文书
Python pandas读取CSV文件的注意事项(适合新手)
2021/06/20 Python