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的chr和ord函数实现字符加减乘除运算实现代码
Dec 05 PHP
php_screw 1.5:php加密: 安装与使用详解
Jun 20 PHP
php常用的安全过滤函数集锦
Oct 09 PHP
php源码分析之DZX1.5随机数函数random用法
Jun 17 PHP
PHP实现清除MySQL死连接的方法
Jul 23 PHP
Nginx环境下PHP flush失效的解决方法
Oct 19 PHP
php array_walk 对数组中的每个元素应用用户自定义函数详解
Nov 18 PHP
php显示页码分页类的封装
Jun 08 PHP
php实现微信模拟登陆、获取用户列表及群发消息功能示例
Jun 28 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
Nov 17 PHP
如何在Laravel5.8中正确地应用Repository设计模式
Nov 26 PHP
PHP filter_var() 函数, 验证判断EMAIL,URL等
Mar 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
PHP学习笔记 (1) 环境配置与代码调试
2011/06/19 PHP
php代码中使用换行及(\n或\r\n和br)的应用
2013/02/02 PHP
php实现的ping端口函数实例
2014/11/12 PHP
php+ajax登录跳转登录实现思路
2016/07/31 PHP
利用PHP绘图函数实现简单验证码功能的方法
2016/10/18 PHP
PHP MYSQL简易交互式站点开发
2016/12/27 PHP
php strftime函数获取日期时间(switch用法)
2018/05/16 PHP
ThinkPHP框架实现定时执行任务的两种方法分析
2018/09/04 PHP
PDO::beginTransaction讲解
2019/01/27 PHP
msn上的tab功能Firefox对childNodes处理的一个BUG
2008/01/21 Javascript
javascript中的undefined 与 null 的区别  补充篇
2010/03/17 Javascript
某人初学javascript的时候写的学习笔记
2010/12/30 Javascript
使用PHP+JavaScript将HTML页面转换为图片的实例分享
2016/04/18 Javascript
深入理解JS DOM事件机制
2016/08/06 Javascript
微信小程序 PHP生成带参数二维码
2017/02/21 Javascript
windows下vue-cli导入bootstrap样式
2017/04/25 Javascript
vue select组件的使用与禁用实现代码
2018/04/10 Javascript
Vux+Axios拦截器增加loading的问题及实现方法
2018/11/08 Javascript
JavaScript数据结构与算法之二叉树添加/删除节点操作示例
2019/03/01 Javascript
Vue3项目打包后部署到服务器 请求不到后台接口解决方法
2020/02/06 Javascript
JS前后端实现身份证号验证代码解析
2020/07/23 Javascript
python logging 日志轮转文件不删除问题的解决方法
2016/08/02 Python
python学生管理系统代码实现
2020/04/05 Python
Python cv2 图像自适应灰度直方图均衡化处理方法
2018/12/07 Python
python3 打印输出字典中特定的某个key的方法示例
2019/07/06 Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
2019/07/06 Python
python 可视化库PyG2Plot的使用
2021/01/21 Python
HTML5 通信API 跨域门槛将不再高、数据推送也不再是梦
2013/04/25 HTML / CSS
加拿大便宜的隐形眼镜商店:Clearly
2016/09/15 全球购物
计算机专业学生的自我评价
2013/12/15 职场文书
技术总监管理职责范本
2014/03/06 职场文书
小学德育工作经验交流材料
2014/05/22 职场文书
早读课迟到检讨书
2014/09/25 职场文书
2015年百日安全活动总结
2015/03/26 职场文书
2015年七一建党节活动方案
2015/05/05 职场文书
2019新学期家长会工作计划
2019/08/21 职场文书