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类中Static方法效率测试代码
Oct 17 PHP
php 批量生成html,txt文件的实现代码
Jun 26 PHP
基于php常用函数总结(数组,字符串,时间,文件操作)
Jun 27 PHP
php创建多级目录的方法
Mar 24 PHP
PHP创建word文档的方法(平台无关)
Mar 29 PHP
yii2.0实现创建简单widgets示例
Jul 18 PHP
yii2缓存Caching基本用法示例
Jul 18 PHP
PHP面向对象程序设计之类与反射API详解
Dec 02 PHP
yii2-GridView在开发中常用的功能及技巧总结
Jan 07 PHP
php封装json通信接口详解及实例
Mar 07 PHP
PHP区块查询实现方法分析
May 12 PHP
TP5框架页面跳转样式操作示例
Apr 05 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文件读写操作相关函数总结
2014/11/18 PHP
php开发中的页面跳转方法总结
2015/04/26 PHP
PHP实现文件上传和多文件上传
2015/12/24 PHP
PHP针对字符串开头和结尾的判断方法
2016/07/11 PHP
mac系统下为 php 添加 pcntl 扩展
2016/08/28 PHP
thinkphp5.1 文件引入路径问题及注意事项
2018/06/13 PHP
PHP使用openssl扩展实现加解密方法示例
2020/02/20 PHP
5款Javascript颜色选择器
2009/10/25 Javascript
js apply/call/caller/callee/bind使用方法与区别分析
2009/10/28 Javascript
JS判断页面加载状态以及添加遮罩和缓冲动画的代码
2012/10/11 Javascript
jQuery Masonry瀑布流插件使用详解
2014/11/17 Javascript
浅谈js中的闭包
2015/03/16 Javascript
jQuery实现对无序列表的排序功能(附demo源码下载)
2016/06/25 Javascript
vue分页组件table-pagebar使用实例解析
2020/11/15 Javascript
使用grunt合并压缩js和css文件的方法
2017/03/02 Javascript
webpack构建vue项目的详细教程(配置篇)
2017/07/17 Javascript
webpack构建的详细流程探底
2018/01/08 Javascript
qrcode生成二维码微信长按无法识别问题的解决
2019/04/04 Javascript
vue学习笔记五:在vue项目里面使用引入公共方法详解
2019/04/04 Javascript
更优雅的微信小程序骨架屏实现详解
2019/08/07 Javascript
基于原生js实现九宫格算法代码实例
2020/07/03 Javascript
Python AES加密模块用法分析
2017/05/22 Python
使用python存储网页上的图片实例
2018/05/22 Python
Windows下Anaconda2安装NLTK教程
2018/09/19 Python
解决pycharm运行程序出现卡住scanning files to index索引的问题
2019/06/27 Python
Python3使用PySynth制作音乐的方法
2019/09/09 Python
Python如何基于rsa模块实现非对称加密与解密
2020/01/03 Python
conda安装tensorflow和conda常用命令小结
2021/02/20 Python
毕业生求职简历的自我评价
2013/10/07 职场文书
绝对经典成功的大学生推荐信
2013/11/08 职场文书
工厂保洁员岗位职责
2013/12/04 职场文书
单位未婚证明范本
2014/01/18 职场文书
优秀员工评优方案
2014/06/13 职场文书
植物园观后感
2015/06/11 职场文书
十大最强火系宝可梦,喷火龙上榜,第一名有双火属性
2022/03/18 日漫
MySQL池化框架学习接池自定义
2022/07/23 MySQL