1.5 xss漏洞修复
1.XSS漏洞修复
html实体
|
显示结果
|
描述
|
实体名称
|
|
|
空格
|
|
|
<
|
小于号
|
<
|
|
>
|
大于号
|
>
|
|
&
|
和号
|
&
|
|
"
|
引号
|
"
|
|
'
|
撇号
|
' (IE不支持)
|
HTML Encode
修复漏洞方针
PHP中的相应函数
|
strip_tags($str, [允许标签])
|
从字符串中去除 HTML 和 PHP 标记
|
|
htmlentities($str)
|
转义html实体
|
|
html_entity_decode($str)
|
反转义html实体
|
|
addcslashes($str, ‘字符’)
|
给某些字符加上反斜杠
|
|
stripcslashes($str)
|
去掉反斜杠
|
|
addslashes ($str )
|
单引号、双引号、反斜线与 NULL加反斜杠
|
|
stripslashes($str)
|
去掉反斜杠
|
|
htmlspecialchars()
|
特殊字符转换为HTML实体
|
|
htmlspecialchars_decode()
|
将特殊的 HTML 实体转换回普通字符
|
数据过滤类
<?php
class XSS
{
/**
* @desc 过滤数据
*
* @param $data string|array 输入数据
* @param $low bool 是否采用更为严格的过滤
*
* @return 返回过滤的数据
*/
public function clean_xss($data, $low = False)
{
#字符串过滤
if (! is_array ( $data ))
{
$data = trim ( $data ); #字符两边的处理
$data = strip_tags ( $data ); #从字符串中去除 HTML 和 PHP 标记
$data = htmlspecialchars ( $data ); #特殊字符转换为HTML实体
if ($low)
{
return $data;
}
#匹配换空格
$data = str_replace ( array ('"', "\\", "'", "/", "..", "../", "./", "//" ), '', $data );
$no = '/%0[0-8bcef]/';
$data = preg_replace ( $no, '', $data );
$no = '/%1[0-9a-f]/';
$data = preg_replace ( $no, '', $data );
$no = '/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]+/S';
$data = preg_replace ( $no, '', $data );
return $data;
}
#数组过滤
$arr=array();
foreach ($data as $k => $v)
{
$temp=$this->clean_xss($v);
$arr[$k]=$temp;
}
return $arr;
} }
#测试测试
session_start();
$_SESSION['xss']='xssss';
$xss=new XSS();
#测试字符串
$str = "<script>alert(document.cookie)</script>";
echo $str;
$str2=$xss->clean_xss($str);
echo $str2;
echo "<hr/>";
#测试数组
$arr=array("<script>alert(document.cookie)</script>","<script>alert(document.cookie)</script>","<script>alert(document.cookie)</script>");
echo "<pre>";
print_r($arr);
echo "</pre>";
$arr2=$xss->clean_xss($arr);
echo "<pre>";
print_r($arr2);
echo "</pre>";die;
?>
1.5 xss漏洞修复的更多相关文章
- php xss漏洞修复用手段和用到的一些函数
php xss漏洞修复用到的一些函数 $text = '<p>"Test paragraph".</p><!-- Comment --> < ...
- Struts网站基于Filter的XSS漏洞修复
下面的代码只支持struts2框架中的xss漏洞 第一步,创建过滤器XssFilter : package com.ulic.ulcif.filter; import java.io.IOExcept ...
- xss漏洞修复,待完善
1.防止sql注入 /// <summary> /// 分析用户请求是否正常 /// </summary> /// <param name="Str" ...
- dedecms5.7最新漏洞修复
最近发现织梦cms被挂马现象频繁,解决好好几个网站的问题,但是过不了多久,就又被攻击了,即使更改系统及ftp密码,也没有起到防御的作用,最后怀疑cms本身漏洞,于是采用工具扫描了一下,才发现问题的严重 ...
- 利用窗口引用漏洞和XSS漏洞实现浏览器劫持
==Ph4nt0m Security Team== Issue 0x03, Phile #0x05 of 0x07 |=----------------- ...
- (汉化改进作品)BruteXSS:Xss漏洞扫描脚本
今天给大家进行汉化改进的事一款脚本工具:BruteXSS,这款脚本能自动进行插入XSS,而且可以自定义攻击载荷. 该脚本也同时提供包含了一些绕过各种WAF(Web应用防护系统)的语句. 0×01简 ...
- Web常见漏洞修复建议
一.SQL注入修复建议 1.过滤危险字符,例如:采用正则表达式匹配union.sleep.and.select.load_file等关键字,如果匹配到则终止运行. 2.使用预编译语句,使用PDO需要注 ...
- 教你玩转XSS漏洞
什么是存储性XSS那? 通俗理解就是”xss“语句存在服务器上,可以一直被客户端浏览使用,所有登陆某一个存在”存储性xss“的页面的人,都会中招,可以是管理员,可以是普通的用户,所以他的危害是持续性的 ...
- wordpress网站程序漏洞修复办法
近日wordpress被爆出高危的网站漏洞,该漏洞可以伪造代码进行远程代码执行,获取管理员的session以及获取cookies值,漏洞的产生是在于wordpress默认开启的文章评论功能,该功能在对 ...
随机推荐
- 光流法跟踪fast角点思路
光流法需要include<opencv2/video/tracking.hpp>,用到列表,所以要include<list><vector>1.读取文件定义图像存储 ...
- ImportError: no module named win32api
ImportError: no module named win32api 安装win32包就好了 pip install pypiwin32
- Sobel导数
Sobel 导数 目标 本文档尝试解答如下问题: 如何使用OpenCV函数 Sobel 对图像求导. 如何使用OpenCV函数 Scharr 更准确地计算 核的导数. 原理 Note 以下内容来自于 ...
- 解决xhost: unable to open display ""
首先安装vncserver,如图: 切换账户:sudo su到root下 执行:export DISPLAY=:0.0 执行:xhost +,如图:
- java错误:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Bu
我们在用Eclipse进行Java web开发时,可能会出现这样的错误:The superclass javax.servlet.http.HttpServlet was not found on t ...
- python习题-注册用户程序
把上周的注册程序改一下,用字典保存# 字典格式如下:# {# "niuhanyang":{"passwd":"123456","r ...
- Python习题-登录
写一个登录的程序,失败次数最多为3次,输入账号.密码错误,提示账号/密码错误.失败三次程序退出,输入正确,提示欢迎xxx登录 i=0while (i<3): username = input(' ...
- 用截取的部分图像创建新图像--关于cvGetSubRect,cvGetImage的用法
CvMat* cvGetSubRect(const CvArr* arr, CvMat* submat, CvRect rect)可以把截取图像中需要的区域存入矩阵.把IplImage *传给arr, ...
- linux命令学习笔记(0):man命令
Linux提供了丰富的帮助手册,当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可. Linux的man手册共有以下几个章节: 代號 代表內容 使用者在shell中可以操作的指令或可执行 ...
- buildroot mysql mysql.mk hacking
/*********************************************************************** * buildroot mysql mysql.mk ...