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 25 PHP
php下实现一个阿拉伯数字转中文数字的函数
Jul 10 PHP
php 修改zen-cart下单和付款流程以防止漏单
Mar 08 PHP
解析PHP实现下载文件的两种方法
Jul 05 PHP
PHP常用函数和常见疑难问题解答
Mar 05 PHP
PHP中__FILE__、dirname与basename用法实例分析
Dec 01 PHP
Yii框架登录流程分析
Dec 03 PHP
PHP传参之传值与传址的区别
Apr 24 PHP
PHP设置进度条的方法
Jul 08 PHP
php使用ZipArchive函数实现文件的压缩与解压缩
Oct 27 PHP
php中array_column函数简单实现方法
Jul 11 PHP
PHP substr()函数参数解释及用法讲解
Nov 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
日本因肺炎疫情影响,这几部动漫推延播放!
2020/03/03 日漫
php面向对象 字段的声明与使用
2012/06/14 PHP
php调整gif动画图片尺寸示例代码分享
2013/12/05 PHP
基于ThinkPHP实现批量删除
2015/12/18 PHP
php获取ip及网址的简单方法(必看)
2017/04/01 PHP
在 Laravel 中 “规范” 的开发短信验证码发送功能
2017/10/26 PHP
PHP设计模式之工厂方法设计模式实例分析
2018/04/25 PHP
一个刚完成的layout(拖动流畅,不受iframe影响)
2007/08/17 Javascript
jquery.ui.draggable中文文档
2009/11/24 Javascript
JS的反射问题
2010/04/07 Javascript
jquery.AutoComplete.js中文修正版(支持firefox)
2010/04/09 Javascript
JSON JQUERY模板实现说明
2010/07/03 Javascript
javascript定义函数的方法
2010/12/06 Javascript
javascript级联下拉列表实例代码(自写)
2013/05/10 Javascript
JS图片无缝、平滑滚动代码
2014/03/11 Javascript
jquery实现实时改变网页字体大小、字体背景色和颜色的方法
2015/08/05 Javascript
js实现input密码框提示信息的方法(附html5实现方法)
2016/01/14 Javascript
javascript求日期差的方法
2016/03/02 Javascript
ajax 提交数据到后台jsp页面及页面跳转问题
2017/01/19 Javascript
Vue.js+Layer表格数据绑定与实现更新的实例
2018/03/07 Javascript
vue 表单输入格式化中文输入法异常问题
2018/05/30 Javascript
详解es6超好用的语法糖Decorator
2018/08/01 Javascript
JavaScript判断浏览器版本的方法
2019/11/03 Javascript
介绍Python中内置的itertools模块
2015/04/29 Python
Python竟能画这么漂亮的花,帅呆了(代码分享)
2017/11/15 Python
python-docx修改已存在的Word文档的表格的字体格式方法
2018/05/08 Python
美国马匹用品和骑马配件购物网站:Horse.com
2018/01/08 全球购物
三个Unix的命令面试题
2015/04/12 面试题
师范应届毕业生自荐信
2013/11/18 职场文书
某某同志考察材料
2014/05/28 职场文书
单位一把手群众路线四风问题整改措施
2014/09/25 职场文书
学校师德师风自我剖析材料
2014/09/29 职场文书
党的群众路线教育实践活动个人整改措施
2014/10/27 职场文书
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
2021/07/07 Servers
MySQL 聚合函数排序
2021/07/16 MySQL
mysql字段为NULL索引是否会失效实例详解
2022/05/30 MySQL