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代码(星期六,星期日总和)
Nov 12 PHP
用PHP写的基于Memcache的Queue实现代码
Nov 27 PHP
浅析php学习的路线图
Jul 10 PHP
php number_format() 函数通过千位分组来格式化数字的实现代码
Aug 06 PHP
使用PHP静态变量当缓存的方法
Nov 13 PHP
PHP中使用sleep函数实现定时任务实例分享
Aug 21 PHP
分享ThinkPHP3.2中关联查询解决思路
Sep 20 PHP
PHP使用MPDF类生成PDF的方法
Dec 08 PHP
ThinkPHP框架安全实现分析
Mar 14 PHP
php投票系统之增加与删除投票(管理员篇)
Jul 01 PHP
深入解析PHP中SESSION反序列化机制
Mar 01 PHP
PHP实现通过strace定位故障原因的方法
Apr 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+Mysql+jQuery文件下载次数统计实例讲解
2015/10/10 PHP
php版微信自动登录并获取昵称的方法
2016/09/23 PHP
JavaScript将Web页面内容导出到Word及Excel的方法
2015/02/13 Javascript
全国省市二级联动下拉菜单 js版
2016/05/10 Javascript
js字符串操作总结(必看篇)
2016/11/22 Javascript
浅谈javascript的url参数parse和build函数
2017/03/04 Javascript
gulp解决跨域的配置文件问题
2017/06/08 Javascript
Three.js利用orbit controls插件(轨道控制)控制模型交互动作详解
2017/09/25 Javascript
H5实现仿flash效果的实现代码
2017/09/29 Javascript
javaScript日期工具类DateUtils详解
2017/12/08 Javascript
vue axios整合使用全攻略
2018/05/24 Javascript
vue框架搭建之axios使用教程
2018/07/11 Javascript
webstorm中配置Eslint的两种方式及差异比较详解
2018/10/19 Javascript
vue 实现cli3.0中使用proxy进行代理转发
2019/10/30 Javascript
JavaScript基于用户照片姓名生成海报
2020/05/29 Javascript
解决Echarts 显示隐藏后宽度高度变小的问题
2020/07/19 Javascript
JavaScript实现图片放大预览效果
2020/11/02 Javascript
python+selenium打印当前页面的titl和url方法
2018/06/22 Python
python中的变量如何开辟内存
2018/06/26 Python
Python匿名函数/排序函数/过滤函数/映射函数/递归/二分法
2019/06/05 Python
Python实现获取系统临时目录及临时文件的方法示例
2019/06/26 Python
利用Python脚本批量生成SQL语句
2020/03/04 Python
python自动化测试三部曲之unittest框架的实现
2020/10/07 Python
使用CSS3制作响应式导航菜单的方法
2015/07/12 HTML / CSS
CSS3 @keyframes简单动画实现
2018/02/24 HTML / CSS
在校生汽车维修实习自我鉴定
2013/09/19 职场文书
怎样写留学自荐信
2013/11/11 职场文书
实习单位推荐信范文
2013/11/27 职场文书
美术教师自我鉴定
2014/02/12 职场文书
节水标语大全
2014/06/11 职场文书
幼师求职信
2014/06/23 职场文书
“三支一扶”支教教师思想汇报
2014/09/13 职场文书
父亲节寄语大全
2015/02/27 职场文书
新学期小学班主任工作计划
2019/06/21 职场文书
创业计划书之校园跑腿公司
2019/09/24 职场文书
Python+Appium自动化测试的实战
2021/06/30 Python