php xss攻击
创始人
2024-05-20 05:23:29
0

文章目录

  • 一、什么是xss攻击
  • 二、攻击类型
  • 三、php相关处理函数
    • 1、htmlspecialchars 函数
    • 2、htmlentities 函数
    • 3、strip_tags 函数

一、什么是xss攻击

xss攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括php、VBScript、ActiveX、 Flash 或者甚至是普通的HTML。

二、攻击类型

  • 存储型: 最直接的危害类型,跨站代码存储在服务器(数据库)。
    在这里插入图片描述

  • 反射型: 反射型跨站脚本漏洞,最普遍的类型。

在这里插入图片描述

  • DOM型: DOM(document object model文档对象模型),客户端脚本处理逻辑导致的安全问题。

在这里插入图片描述

三、php相关处理函数

1、htmlspecialchars 函数

将特殊字符转换为 HTML 实体

语法:

htmlspecialchars(string $string,int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401,?string $encoding = null,bool $double_encode = true
): string选项参数:string:待转换的字符串。

其他参数通常不需要,要用时可参考:htmlspecialchars 函数

字符替换变化:

字符替换后
& (& 符号)&
" (双引号)",除非设置了 ENT_NOQUOTES
' (单引号)设置了 ENT_QUOTES 后, ' (如果是 ENT_HTML401) ,或者 ' (如果是 ENT_XML1、 ENT_XHTML 或 ENT_HTML5)。
< (小于)<
> (大于)>

2、htmlentities 函数

本函数各方面都和 htmlspecialchars() 一样,除了 htmlentities() 会转换所有具有 HTML 实体的字符。

语法:


htmlentities(string $string,int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401,?string $encoding = null,bool $double_encode = true
): string选项参数:string:待转换的字符串。

其他参数通常不需要,要用时可参考:htmlentities 函数

3、strip_tags 函数

从字符串中去除 HTML 和 PHP 标签

语法:


strip_tags(string $string, array|string|null $allowed_tags = null): string选项参数:string:输入字符串。allowed_tags:使用可选的第二个参数指定不被去除的标签列表。要么是 string,要么自 PHP 7.4.0 起是 array。

具体可参考:strip_tags 函数

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...