当前位置: 首页 > 图文教程 > 网络编程 > PHP > Get或Post提交值的非法数据处理

PHP
连载3:利用PHP创建由Oracle驱动的SOAP服务
连载4:利用PHP创建由Oracle驱动的SOAP服务
理解Zend 框架 用PHP构建完美的阅读器
利用单元测试在每个层上对PHP代码进行检查
视频演示:Zend Platform功能特性详解
967个函式列表 PHP常用语法索引速查表
心得:PHP对文本数据库的五大基本操作方法
日记整理:Apache+MySql+PHP的快速安装
怎样才能成为PHP高手?学会"懒惰"的去编程
使用m17n实现对各国语言间的代码移植和转换
理解Zend 框架(1):构建完美的阅读器
理解Zend 框架(4): 用Zend_HTTP_Client 获取无提要的内容
ajax的最大缺点是什么?对搜索引擎的支持较弱
windows环境下mysql数据库的主从同步备份步骤
用AJAX实现聊天功能(part 1)
实例:用PHP实现Ftp用户的在线管理
利用PHP和CSS改变网页文字大小
PHP开发大型项目的方法[OOP思想]
直接读取数据库信息的三种方法
PHP5.3中新增的魔术常量__DIR__

PHP 中的 Get或Post提交值的非法数据处理


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 95 ::
收藏到网摘: n/a


Get或Post提交值的非法数据处理 <?php
//********************************************************
//-- 程序名称:StrSwap V1.01
//-- 程序编写:[email][email protected][/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];
}
}
}
?>