php注入类,简单实用的PHP防注入类实例
这篇文章主要介绍了简单实用的PHP防注入类实例,以两个简单的防注入类为例介绍了PHP防注入的原理与技巧,对网站安全建设来说非常具有实用价值,需要的朋友可以参考下
本文实例讲述了简单实用的PHP防注入类。分享给大家供大家参考。具体如下:
PHP防注入注意要过滤的信息基本是get,post,然后对于sql就是我们常用的查询,插入等等sql命令了,下面我给各位整理两个简单的例子,希望这些例子能给你网站带来安全.
PHP防注入类代码如下:
/**
* 参数处理类
* @author JasonWei
*/
class Params
{
public $get = array();
public $post = array();
function __construct()
{
if (!emptyempty($_GET)) {
foreach ($_GET as $key => $val) {
if (is_numeric($val)) {
$this->get[$key] = $this->getInt($val);
} else {
$this->get[$key] = $this->getStr($val);
}
}
}
if (!emptyempty($_POST)) {
foreach ($_POST as $key => $val) {
if (is_numeric($val)) {
$this->post[$key] = $this->getInt($val);
} else {
$this->post[$key] = $this->getStr($val);
}
}
}
}
public function getInt($number)
{
return intval($number);
}
public function getStr($string)
{
if (!get_magic_quotes_gpc()) {
$string = addslashes($string);
}
return $string;
}
public function checkInject($string)
{
return eregi('select|insert|update|delete|/*|*|../|./|union|into|load_file|outfile', $string);
}
public function verifyId($id = null)
{
if (!$id || $this->checkInject($id) || !is_numeric($id)) {
$id = false;
} else {
$id = intval($id);
}
return $id;
}
}
?>
例子二,代码如下:
/*************************
说明:
判断传递的变量中是否含有非法字符
如$_POST、$_GET
功能:
防注入
*************************/
//要过滤的非法字符
$ArrFiltrate=array("'","or","and","union","where");
//出错后要跳转的url,不填则默认前一页
$StrGoUrl="";
//是否存在数组中的值
function FunStringExist($StrFiltrate,$ArrFiltrate){
foreach ($ArrFiltrate as $key=>$value){
if (eregi($value,$StrFiltrate)){
return true;
}
}
return false;
}
//合并$_POST 和 $_GET
if(function_exists(array_merge)){
$ArrPostAndGet=array_merge($HTTP_POST_VARS,$HTTP_GET_VARS);
}else{
foreach($HTTP_POST_VARS as $key=>$value){
$ArrPostAndGet[]=$value;
}
foreach($HTTP_GET_VARS as $key=>$value){
$ArrPostAndGet[]=$value;
}
}
//验证开始
foreach($ArrPostAndGet as $key=>$value){
if (FunStringExist($value,$ArrFiltrate)){
echo "";
if (emptyempty($StrGoUrl)){
echo "history.go(-1);";
}else{
echo "window.location='".$StrGoUrl."';";
}
exit;
}
}
/***************结束防止PHP注入*****************/
?>
希望本文所述对大家的PHP程序设计有所帮助。
php注入类,简单实用的PHP防注入类实例相关推荐
- php注入类,简单实用的PHP防注入类实例_PHP
本文实例讲述了简单实用的PHP防注入类.分享给大家供大家参考.具体如下: PHP防注入注意要过滤的信息基本是get,post,然后对于sql就是我们常用的查询,插入等等sql命令了,下面我给各位整理两 ...
- php简单实用的操作文件工具类(创建、移动、复制、删除)
php简单实用好用的文件及文件夹复制函数和工具类(创建.移动.复制.删除) function recurse_copy($src,$dst) { // 原目录,复制到的目录 $dir = opend ...
- mysql防注入 php_PHP使用PDO实现mysql防注入功能详解
本文实例讲述了PHP使用PDO实现mysql防注入功能.分享给大家供大家参考,具体如下: 1.什么是注入攻击 例如下例: 前端有个提交表格: 姓名: 密码: 后台的处理如下: $username=$_ ...
- php 高效缓存类,简单高效的文件缓存php类
简单高效的文件缓存php类 class FileCache { public $keyPrefix = ''; public $cachePath = ''; public $cacheFileSuf ...
- 若依框架(SpringBoot)增加SQL防注入处理,SpringBoot增加SQL防注入
文章目录 若依框架增加SQL防注入处理,SpringBoot项目可用 增加Filter 若依框架增加SQL防注入处理,SpringBoot项目可用 思路:增加Filter对请求中的请求参数进行过滤进行 ...
- ThinkPHP 数据库表结构处理类(简单实用)
<?php /* *mysql表结构处理类 *创建数据表,增加,编辑,删除表中字段 * */ classMysqlManage{ /* *创建数据库,并且主键是aid *table要查询的表名 ...
- thinkphp mysql desc table_数据库表结构_ThinkPHP 数据库表结构处理类(简单实用)-云栖社区-阿里云...
/* *mysql表结构处理类 *创建数据表,增加,编辑,删除表中字段 * */ classMysqlManage{ /* *创建数据库,并且主键是aid *table要查询的表名 */ functi ...
- php 分页类使用,php 分页 分页类 简单实用
//为了避免重复包含文件而造成错误,加了判断函数是否存在的条件:if(!function_exists(pageft)){//定义函数pageft(),三个参数的含义为://$totle:信息总数:/ ...
- html美化select样式,select样式美化(简单实用)
美化select,可以实用一个a标签将select嵌套进去,然后将相对定位,在将select绝对定位,美化即可 .sel_mask{ /*将相对定位*/ position:relative; widt ...
最新文章
- TestSuite测试报告生成
- 使用XML与远程服务器进行交互
- 许昌电气学校电话计算机,许昌电气职业学院
- Laravel event 事件的简单使用
- 完成AOP 顶层设计-AopProxy
- java爬虫技术的作用_Java网络爬虫怎么实现?
- PHP四种基本排序算法
- linux 组态软件,基于嵌入式Linux的组态软件实时数据库的设计
- linux dig命令
- 金融级IT架构-数字银行的云原生架构解析
- 将word文档锁定其他用户不可编辑
- 从一个字符串删除元音字母
- Gateway统一网关(2021-11-14)
- 将自家的位置标注到地图上(51ditu.com)
- Endurance International Group任命曼尼什达拉尔为亚太区董事总经理
- 如果要用运营的姿势,发支付宝红包
- unity读取Texture文件并转为Sprit
- 重装系统后win10激活
- STM32CubeMX环境搭建及使用
- labview中的移位寄存器、循环隧道,自动索引隧道的区别
热门文章
- java访问控制符_java中访问控制符的作用
- java游戏输赢统计_java利用多线程和Socket实现猜拳游戏
- android 除了webview 浏览器控件,AgentWeb是基于Android WebView一个功能完善小型浏览器库...
- 如何用Java做玫瑰花数_c语言如何输出玫瑰花数?(代码示例)
- 搭建流媒体服务器(1)
- python day-15 匿名函数 sorted ()函数 filter()函数 map()函数 递归 二分法...
- Zabbix JMX之tomcat监控
- spring boot / cloud (二) 规范响应格式以及统一异常处理
- ASP.Net请求小周期
- pku 3020 Antenna Placement