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 相关文章推荐
phpmyadmin MySQL 加密配置方法
Jul 05 PHP
PHP中限制IP段访问、禁止IP提交表单的代码
Apr 23 PHP
Look And Say 序列php实现代码
May 22 PHP
PHP Hash算法:Times33算法代码实例
May 13 PHP
php实现Session存储到Redis
Nov 11 PHP
Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)
Jun 13 PHP
PHP利用正则表达式将相对路径转成绝对路径的方法示例
Feb 28 PHP
phpcms配置列表页以及获得文章发布时间
Jul 04 PHP
PHP递归实现快速排序的方法示例
Dec 18 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
May 23 PHP
thinkPHP5框架接口写法简单示例
Aug 05 PHP
php设计模式之抽象工厂模式分析【星际争霸游戏案例】
Jan 23 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
《APMServ 5.1.2》使用图解
2006/10/23 PHP
php中日期加减法运算实现代码
2011/12/08 PHP
memcache一致性hash的php实现方法
2015/03/05 PHP
PHP实现仿Google分页效果的分页函数
2015/07/29 PHP
jquery tools之tabs 选项卡/页签
2009/07/25 Javascript
js对数字的格式化使用说明
2011/01/12 Javascript
javascript 二进制运算技巧解析
2012/11/27 Javascript
深入解析JavaScript的闭包机制
2015/10/20 Javascript
js replace(a,b)之替换字符串中所有指定字符的方法
2016/08/17 Javascript
ng2学习笔记之bootstrap中的component使用教程
2017/03/09 Javascript
js表单序列化判断空值的实例
2017/09/22 Javascript
layui实现动态和静态分页
2018/04/28 Javascript
node.js遍历目录的方法示例
2018/08/01 Javascript
每周一练 之 数据结构与算法(Stack)
2019/04/16 Javascript
JavaScript canvas绘制圆弧与圆形
2020/02/18 Javascript
解决vue-loader加载不上的问题
2020/10/21 Javascript
[18:16]sakonoko 2017年卡尔集锦
2018/02/06 DOTA
使用IPython下的Net-SNMP来管理类UNIX系统的教程
2015/04/15 Python
Django 使用easy_thumbnails压缩上传的图片方法
2019/07/26 Python
Python使用QQ邮箱发送邮件报错smtplib.SMTPAuthenticationError
2019/12/20 Python
使用python实现多维数据降维操作
2020/02/24 Python
PyQT5速成教程之Qt Designer介绍与入门
2020/11/02 Python
HTML5-WebSocket实现聊天室示例
2016/12/15 HTML / CSS
canvas 阴影和图形变换的示例代码
2018/01/02 HTML / CSS
美国时尚女装在线:Missguided
2016/12/03 全球购物
梅西百货官网:Macy’s
2020/08/04 全球购物
环保专业大学生职业规划设计
2014/01/10 职场文书
会计人员岗位职责
2014/03/19 职场文书
政治学求职信
2014/06/03 职场文书
查摆剖析材料范文
2014/09/30 职场文书
地震慰问信
2015/02/14 职场文书
2015年乡镇残联工作总结
2015/05/13 职场文书
浪漫婚礼主持词开场白
2015/11/24 职场文书
2016入党积极分子考察评语
2015/12/01 职场文书
2016母亲节感恩话语
2015/12/09 职场文书
CSS 鼠标点击拖拽效果的实现代码
2022/12/24 HTML / CSS