Web开发-PHP应用鉴别修复AI算法流量检测PHP.INI通用过滤内置函数

news2025/3/17 14:19:14

知识点:
1、安全开发-原生PHP-PHP.INI安全
2、安全开发-原生PHP-全局文件&单函数
3、安全开发-原生PHP-流量检测&AI算法

一、演示案例-WEB开发-修复方案-PHP.INI配置

在这里插入图片描述
在这里插入图片描述
文章参考:
https://www.yisu.com/ask/28100386.html
https://blog.csdn.net/u014265398/article/details/109700309
https://www.cnblogs.com/xiaochaohuashengmi/archive/2011/10/23/2222105.html

安全模式-safe_mode(相关命令执行函数会被禁用)

5.4.0以上版本已被移除
在这里插入图片描述

路径访问 open_basedir 限制文件操作安全(遍历、读取等)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

禁用函数 disable_function 升级版安全模式,自定义限制函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

魔术引号转义 magic_quotes_gpc

5.4.0以上版本已被移除
在这里插入图片描述

数据库访问次数 max_connections 防止数据库爆破

禁用远程执行 allow_url_include allow_url_fopen 远程文件包含开关

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

安全会话管理 session.cookie_httponly、session.cookie_secure

在这里插入图片描述

二、演示案例-WEB开发-修复方案-单函数&全局文件

代码-内置函数

检测:数据的类型差异,数据的固定内容
缺点:当要过滤的变量很多的时候,不可能一个一个写这些内置函数,这时候就可以用到全局文件(单独写一个过滤文件,其他脚本文件则调用这个过滤文件的函数即可)
gettype()获取变量的类型
is_float()检测变量是否是浮点型
is_bool()检测变量是否是布尔型
is_int()检测变量是否是整数
is_null()检测变量是否为NULL
is_numeric()检测变量是否为数字或数字字符串
is_object()检测变量是否是一个对象
is_resource()检测变量是否为资源类型
is_scalar()检测变量是否是一个标量
is_string()检测变量是否是字符串
is_array()检测变量是否是数组
filter_var()使用特定的过滤器过滤一个变量
FILTER_SANITIZE_STRING 过滤器可以过滤HTML标签和特殊字符
FILTER_SANITIZE_NUMBER_INT 过滤器可过滤非整数字符
FILTER_SANITIZE_URL 过滤器用于过滤URL中的非法字符
FILTER_VALIDATE_EMAIL 过滤器来验证电子邮件地址的有效性

无过滤导致正常sql注入
在这里插入图片描述
在这里插入图片描述

filter_var() // 使用特定的过滤器过滤一个变量

FILTER_SANITIZE_STRING 过滤器可以过滤HTML标签和特殊字符
FILTER_SANITIZE_NUMBER_INT 过滤器可过滤非整数字符
在这里插入图片描述
在这里插入图片描述
FILTER_SANITIZE_URL 过滤器用于过滤URL中的非法字符
FILTER_VALIDATE_EMAIL 过滤器来验证电子邮件地址的有效性

is_numeric() // 检测变量是否为数字或数字字符串

在这里插入图片描述

is_string()// 检测变量是否是字符串

代码-内置函数-SQL注入过滤

Addslashes()返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号()、双引号()、反斜线()与NULL字符)。
stripslashes()反引用一个引用字符串,如果magic_quotes_sybase项开启,反斜线将被去除,但是两个反斜线将会被替换成一个。
addcslashes()返回字符串,该字符串在属于参数charlist列表中的字符前都加上了反斜线。
stripcslashes()返回反转义后的字符串。可识别类似C语言的\n,r,…八进制以及十六进制的描述。
mysql_escape_string()此函数并不转义%和_。作用和mysql real escape_string()基本一样
mysql_real_escape_string()调用mysql库的函数在以下字符前添加反斜杠:x00、\n、\r、\、x1a
PHP魔术引号当打开时,所有的'(单引号),”(双引号)(反斜线)和NULL字符都会被自动加上一个反斜线进行转义。这和addslashes()作用完全相同。
预编译机制 固定执行语句,无论在这个执行语句加什么内容都不会改变执行语句本身

addslashes()

返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号()、双引号(”)、反斜线()与NULL字符)。
在这里插入图片描述

在这里插入图片描述

预编译

固定执行语句,无论在这个执行语句加什么内容都不会改变执行语句本身
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

代码-内置函数-XSS跨站过滤

在这里插入图片描述
在这里插入图片描述

filter_var() 使用特定的过滤器过滤一个变量

FILTER_SANITIZE_STRING 过滤器可以过滤HTML标签和特殊字符
在这里插入图片描述
在这里插入图片描述

htmlspecialchars() 函数把预定义的字符转换为HTML实体

在这里插入图片描述

在这里插入图片描述

strip_tags()函数剥去字符串中的HTML、XML以及PHP的标签

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

引用-全局文件-关键内容检测

专门写一个过滤文件,里面过滤各种各样漏洞的关键字内容等。其他脚本则调用这个过滤函数即可完成过滤检测。

文件上传-黑名单/白名单

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

SQL注入

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

XSS跨站

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、演示案例-WEB开发-修复方案-流量检测-规则&AI算法大模型

模仿流量检测(基于规则或AI算法)
演示:Python Flask+PHP Curl+训练大模型
客户端请求数据 -> 中间件搭建平台 -> 服务器代码文件处理
客户端请求数据 -> WAF或流量监控 (规则,AI模型算法)-> 正常数据 -> 中间件搭建平台 -> 服务器代码文件处理
客户端请求数据 -> WAF或流量监控 (规则,AI模型算法)-> 异常数据 -> 截止

基于规则

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

AI算法大模型

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2316662.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

蓝桥模拟+真题讲解

今天谁一篇文章哈 ! 由于本篇文章有些的题目只有图片,因此还望各位见谅。 目录 第一题 题目解析 代码原理 代码编写 填空技巧---巧用python 第二题 题目解析 ​编辑 填空技巧---巧用python 第三题 题目链接 题目解析 必备知识 解题技巧 …

C语言【数据结构】:时间复杂度和空间复杂度.详解

引言 详细介绍什么是时间复杂度和空间复杂度。 前言:为什么要学习时间复杂度和空间复杂度 算法在编写成可执行程序后,运行时需要耗费时间资源和空间(内存)资源。因此衡量一个算法的好坏,一般是从时间和空间两个维度来衡量的,即时…

基于Python的selenium入门超详细教程(第2章)--单元测试框架unittest

学习路线 自动化测试介绍及学习路线-CSDN博客 ​自动化测试之Web自动化(基于pythonselenium)-CSDN博客 基于Python的selenium入门超详细教程(第1章)--WebDriver API篇-CSDN博客 目录 前言: 一、单元测试 1. 单元测试的定义 2. 单元测…

日志、类加载器、XML(配置文件)

目录 一、日志1.日志技术的概述2.日志技术的体系a. Logback 3.日志的级别 二、类加载器1.概述2.类加载时机3.类加载过程3.类加载器的分类4.常用方法 三、XML(配置文件)1.概述2.XML的基本语法3.XML的文档约束a.DTD约束b.schema约束 4.XML文档解析a.Dom4jb…

AI大白话(一):5分钟了解AI到底是什么?

🌟引言: 在这个信息爆炸的时代,“人工智能”、“AI”、“机器学习”、"深度学习"等词汇频繁出现在我们的生活中。 从手机里的语音助手,到网购平台的个性化推荐,再到最近大火的AI绘画和ChatGPT,人…

蓝桥与力扣刷题(蓝桥 字符统计)

题目:给定一个只包含大写字母的字符出 S, 请你输出其中出现次数最多的字符。如果有多个字母均出现了最多次, 按字母表顺序依次输出所有这些字母。 输入格式 一个只包含大写字母的字等串 S. 输出格式 若干个大写字母,代表答案。 样例输入 BABBACAC样…

AtCoder Beginner Contest 397(ABCDE)

目录 A - Thermometer 翻译: 思路: 实现: B - Ticket Gate Log 翻译: 思路: 实现: C - Variety Split Easy 翻译: 思路: 实现: D - Cubes 翻译&#xff1a…

Profinet转Profinet以创新网关模块为核心搭建西门子和欧姆龙PLC稳定通讯架构案例​

你是否有听过PROFINET主站与PROFINET主站之间需要做数据通讯有需求? 例如西门子1500与霍尼韦尔DCS系统两个主站之间的通讯。应用于PROFINET为主站设备还有欧姆龙、基恩士、罗克韦尔、施耐德、GE、ABB等品牌的PLC或DCS、FCS等平台。在生产或智能领域有通讯需求。两头…

计算机视觉|Swin Transformer:视觉 Transformer 的新方向

一、引言 在计算机视觉领域的发展历程中,卷积神经网络(CNN) 长期占据主导地位。从早期的 LeNet 到后来的 AlexNet、VGGNet、ResNet 等,CNN 在图像分类、目标检测、语义分割等任务中取得了显著成果。然而,CNN 在捕捉全…

C++单例模式精解

单例模式(重点*) 单例模式是23种常用设计模式中最简单的设计模式之一,它提供了一种创建对象的方式,确保只有单个对象被创建。这个设计模式主要目的是想在整个系统中只能出现类的一个实例,即一个类只有一个对象。 将单…

【java】集合练习2

Student.java:保存学生类的定义。 public class Student {private String name;private int age;public Student(String name, int age) {this.name name;this.age age;}public String getName() { return name; }public int getAge() { return age; }Overridepu…

FineBI_实现求当日/月/年回款金额分析

需求:原始数据结构如下,需要在分组表中,实现各城市当日/月/年的合同金额分析 实现步骤: ①维度拖入城市 ②分别取当日/月/年合同金额 当日DEF(SUM_AGG(${ 地区数据分析1 _ 合同金额 }),[${ 地区数据分析1 _ 城市 }],[LEFT(${ 地…

【计算机网络】2物理层

物理层任务:实现相邻节点之间比特(或)的传输 1.通信基础 1.1.基本概念 1.1.1.信源,信宿,信道,数据,信号 数据通信系统主要划分为信源、信道、信宿三部分。 信源:产生和发送数据的源头。 信宿:接收数据的终点。 信道:信号的传输介质。 数据和信号都有模拟或数字…

解决PC串流至IPad Pro时由于分辨率不一致导致的黑边问题和鼠标滚轮反转问题

问题背景 今天在做 电脑串流ipad pro 的时候发现了2个问题: 1.ipadpro 接上鼠标后,滚轮上下反转,这个是苹果自己的模拟造成的问题,在设置里选择“触控板与鼠标”。 关闭“自然滚动”,就可以让鼠标滚轮正向滚动。 2. ipadpro 分…

LLMs之CoD:《Chain of Draft: Thinking Faster by Writing Less》翻译与解读

LLMs之CoD:《Chain of Draft: Thinking Faster by Writing Less》翻译与解读 导读:这篇论文的核心是提出了一种名为“Chain of Draft”(CoD,草稿链)的新型提示策略,用于改进大型语言模型(LLMs&a…

0CTF 2016 piapiapia 1

#源码泄露 #代码审计 #反序列化字符逃逸 #strlen长度过滤数组绕过 www.zip 得到源码 看到这里有flag ,猜测服务端docker的主机里,$flag变量应该存的就是我们要的flag。 于是,我们的目的就是读取config.php 利用思路 这里存在 任意文件读取…

python_巨潮年报pdf下载

目录 前置: 步骤: step one: pip安装必要包,获取年报url列表 step two: 将查看url列表转换为pdf url step three: 多进程下载pdf 前置: 1 了解一些股票的基本面需要看历年年报,在巨潮一个个下载比较费时间&…

为什么需要使用十堰高防服务器?

十堰高防服务器的核心价值与应用必要性 一、‌应对复杂攻击的防御能力‌ ‌T级DDoS攻击防护‌ 十堰高防服务器搭载 ‌T级清洗中心‌,支持智能流量调度与分层处理,可抵御 ‌800Gbps-1.2Tbps‌ 的大规模混合攻击(如SYN Flood、UDP反射&#xff…

人工智能中的线性代数基础详解

‌ 线性代数是人工智能领域的重要数学基础之一,是人工智能技术的底层数学支柱,它为数据表示、模型构建和算法优化提供了核心工具。其核心概念与算法应用贯穿数据表示、模型训练及优化全过程。更多内容可看我文章:人工智能数学基础详解与拓展-CSDN博客 一、基本介绍 …

【毕业论文格式】word分页符后的标题段前间距消失

文章目录 【问题描述】 分页符之后的段落开头,明明设置了标题有段前段后间距,但是没有显示间距: 【解决办法】 选中标题,选择边框 3. 选择段前间距,1~31磅的一个数 结果