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 相关文章推荐
第九节 绑定 [9]
Oct 09 PHP
escape unescape的php下的实现方法
Apr 27 PHP
用PHP ob_start()控制浏览器cache、生成html实现代码
Feb 16 PHP
Fatal error: Call to undefined function curl_init()解决方法
Apr 09 PHP
PHP表单递交控件名称含有点号(.)会被转化为下划线(_)的处理方法
Jan 06 PHP
探讨各种PHP字符串函数的总结分析
Jun 05 PHP
PHP编译安装中遇到的两个错误和解决方法
Aug 20 PHP
PHP使用flock实现文件加锁的方法
Jul 01 PHP
thinkphp实现图片上传功能
Jan 13 PHP
PHP常见错误提示含义解释(实用!值得收藏)
Apr 25 PHP
PHP通过微信跳转的Code参数获取用户的openid(关键代码)
Jul 06 PHP
Laravel配置全局公共函数的方法步骤
May 09 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
thinkPHP学习笔记之安装配置篇
2015/03/05 PHP
在Windows系统下使用PHP生成Word文档的教程
2015/07/03 PHP
php判断是否连接上网络的方法实例详解
2016/12/14 PHP
PHP魔术方法之__call与__callStatic使用方法
2017/07/23 PHP
jquery控制左右箭头滚动图片列表的实例
2013/05/20 Javascript
jQuery.extend()、jQuery.fn.extend()扩展方法示例详解
2014/05/08 Javascript
js和jquery分别验证单选框、复选框、下拉框
2015/12/17 Javascript
jQuery.ajax 跨域请求webapi设置headers的解决方案
2016/08/08 Javascript
前端js实现文件的断点续传 后端PHP文件接收
2016/10/14 Javascript
Bootstrap如何创建表单
2016/10/21 Javascript
jQuery插件HighCharts绘制的基本折线图效果示例【附demo源码下载】
2017/03/07 Javascript
vue实现动态显示与隐藏底部导航的方法分析
2019/02/11 Javascript
详解基于 Node.js 的轻量级云函数功能实现
2019/07/08 Javascript
Vue数据绑定实例写法
2019/08/06 Javascript
JS实现点星星消除小游戏
2020/03/24 Javascript
python中format()函数的简单使用教程
2018/03/14 Python
对Python字符串中的换行符和制表符介绍
2018/05/03 Python
Python使用cx_Oracle模块操作Oracle数据库详解
2018/05/07 Python
Python处理命令行参数模块optpars用法实例分析
2018/05/31 Python
python验证码识别教程之利用投影法、连通域法分割图片
2018/06/04 Python
Ubuntu下升级 python3.7.1流程备忘(推荐)
2018/12/10 Python
使用python实现简单五子棋游戏
2019/06/18 Python
Python有参函数使用代码实例
2020/01/06 Python
Python xpath表达式如何实现数据处理
2020/06/13 Python
keras 多任务多loss实例
2020/06/22 Python
详解如何用canvas画一个微笑的表情
2019/03/14 HTML / CSS
Fashion Eyewear美国:英国线上设计师眼镜和太阳镜的零售商
2016/08/15 全球购物
自荐信的五个重要部分
2013/10/29 职场文书
体育教育专业自荐信范文
2013/12/20 职场文书
工程造价专业大学生职业生涯规划书
2014/01/18 职场文书
大型演出策划方案
2014/05/28 职场文书
民事诉讼代理授权委托书范本
2014/10/08 职场文书
学习保证书100字
2015/02/26 职场文书
员工离职通知函
2015/04/25 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
Python语言规范之Pylint的详细用法
2021/06/24 Python