<?php
function RemoveXSS($val) {
// remove all non-printable characters. CR(0a) and LF(0b) and TAB(9) are allowed
// this prevents some character re-spacing such as <java\0script>
// note that you have to handle splits with \n, \r, and \t later since they *are* allowed in some inputs
$val = preg_replace('/([\x00-\x08,\x0b-\x0c,\x0e-\x19])/', '', $val);
// straight replacements, the user should never need these since they're normal characters
// this prevents like <IMG SRC=@avascript:alert('XSS')>
$search = 'abcdefghijklmnopqrstuvwxyz';
$search .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$search .= '1234567890!@#$%^&*()';
$search .= '~`";:?+/={}[]-_|\'\\';
for ($i = 0; $i < strlen($search); $i++) {
// ;? matches the ;, which is optional
// 0{0,7} matches any padded zeros, which are optional and go up to 8 chars
// @ @ search for the hex values
$val = preg_replace('/(&#[xX]0{0,8}'.dechex(ord($search[$i])).';?)/i', $search[$i], $val); // with a ;
// @ @ 0{0,7} matches '0' zero to seven times
$val = preg_replace('/(�{0,8}'.ord($search[$i]).';?)/', $search[$i], $val); // with a ;
}
// now the only remaining whitespace attacks are \t, \n, and \r
$ra1 = Array('javascript', 'vbscript', 'expression', 'applet', 'meta', 'xml', 'blink', 'link', 'style', 'script', 'embed', 'object', 'iframe', 'frame', 'frameset', 'ilayer', 'layer', 'bgsound', 'title', 'base');
$ra2 = Array('onabort', 'onactivate', 'onafterprint', 'onafterupdate', 'onbeforeactivate', 'onbeforecopy', 'onbeforecut', 'onbeforedeactivate', 'onbeforeeditfocus', 'onbeforepaste', 'onbeforeprint', 'onbeforeunload', 'onbeforeupdate', 'onblur', 'onbounce', 'oncellchange', 'onchange', 'onclick', 'oncontextmenu', 'oncontrolselect', 'oncopy', 'oncut', 'ondataavailable', 'ondatasetchanged', 'ondatasetcomplete', 'ondblclick', 'ondeactivate', 'ondrag', 'ondragend', 'ondragenter', 'ondragleave', 'ondragover', 'ondragstart', 'ondrop', 'onerror', 'onerrorupdate', 'onfilterchange', 'onfinish', 'onfocus', 'onfocusin', 'onfocusout', 'onhelp', 'onkeydown', 'onkeypress', 'onkeyup', 'onlayoutcomplete', 'onload', 'onlosecapture', 'onmousedown', 'onmouseenter', 'onmouseleave', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onmousewheel', 'onmove', 'onmoveend', 'onmovestart', 'onpaste', 'onpropertychange', 'onreadystatechange', 'onreset', 'onresize', 'onresizeend', 'onresizestart', 'onrowenter', 'onrowexit', 'onrowsdelete', 'onrowsinserted', 'onscroll', 'onselect', 'onselectionchange', 'onselectstart', 'onstart', 'onstop', 'onsubmit', 'onunload');
$ra = array_merge($ra1, $ra2);
$found = true; // keep replacing as long as the previous round replaced something
while ($found == true) {
$val_before = $val;
for ($i = 0; $i < sizeof($ra); $i++) {
$pattern = '/';
for ($j = 0; $j < strlen($ra[$i]); $j++) {
if ($j > 0) {
$pattern .= '(';
$pattern .= '(&#[xX]0{0,8}([9ab]);)';
$pattern .= '|';
$pattern .= '|(�{0,8}([9|10|13]);)';
$pattern .= ')*';
}
$pattern .= $ra[$i][$j];
}
$pattern .= '/i';
$replacement = substr($ra[$i], 0, 2).'<x>'.substr($ra[$i], 2); // add in <> to nerf the tag
$val = preg_replace($pattern, $replacement, $val); // filter out the hex tags
if ($val_before == $val) {
// no replacements were made, so exit the loop
$found = false;
}
}
}
return $val;
} 相关推荐
xss_remove:用于从字符串中完全删除XSS的类。 在PHP中
XSS / SQLi卸妆 用于从PHP字符串中完全删除XSS和SQLi的类。 安装 只需下载并添加到您的名称空间或库中。 用法 如果要清除简单的字符串,请使用cleanInput()函数。 $cleanString = Clean::cleanInput($dirtyString); 如果要使用各种值清洗数组,请使用cleanArray()函数。 $cleanArray = Clean::cleanArray($dirtyArray); 开发人员信息 所有方法都是静态的,因此您无需创建该类的新实例。 只需按原样使用即可。 它是安全的。 函数cleanInput($data, $addSlashes)有两个参数 $data data-要清除的已发布数据,在这种情况下为一个字符串 $addSlashes如果要使用$addSlashes ,为了提高安全性,请将其设置为TRUE ,默
剔除危险的字符信息 防止 跨站脚本攻击
/** +---------------------------------------------------------- * 功能:剔除危险的字符信息 +---------------------------------------------------------- * @param string $val +--------------------------------
PHP利用正则过滤掉js脚本代码
PHP利用正则过滤掉js脚本代码 一、 开发环境 1、环境搭建:Windows 7+Apache 2.4.18+MySQL 5.7.11+PHP 7.1.0。 2、文本编辑器:Sublime 3。 二、主要技术 本案例主要在PHP中使用正则表达式来实现过滤掉JavaScript脚本代码的功能。
PHP 防xss
* trimscript.php <?php /** * xss过滤 * @param $str string * @return string */ function trim_script($str) { $str = preg_replace('/\\<([\\/]?)script([^\\>]*?)\\>/si', '<\\1sc...
开源大模型“去审查化”技术解析:从LLaMA架构到本地部署与伦理边界
大型语言模型(LLM)基于Transformer架构,通过海量数据训练获得理解和生成自然语言的能力。其核心原理在于自注意力机制对上下文关系的建模。为了确保输出内容的安全与合规,主流模型普遍采用基于人类反馈的强化学习(RLHF)等技术进行安全对齐。这一过程旨在使模型行为符合人类价值观,是AI伦理工程实践的关键环节。然而,在特定研究场景下,如对抗性测试或内容安全算法研究,技术人员需要模拟极端对话以评估系统鲁棒性,这催生了针对“去对齐”或“移除护栏”的技术探索。此类技术通常通过对预训练模型进行反向微调或继续训练来
【electron】- 从零到一:在electron-vite项目中集成better-sqlite3的工程化实践
本文详细介绍了在electron-vite项目中集成better-sqlite3数据库的完整工程化实践。针对原生模块的编译挑战,提供了从环境配置、路径规划、服务封装到IPC通信的解决方案,并重点解决了开发与生产环境的数据库路径分离及打包部署等核心问题,帮助开发者构建稳定高效的Electron桌面应用数据层。
PHP实例——去除代码中XSS跨站脚本
function remove_xss($val) { // remove all non-printable characters. CR(0a) and LF(0b) and TAB(9) are allowed // this prevents some character re-spacing such as <java\0script> // note tha...
wps脚注转参考文献格式
用于写论文时直接将规范的脚注格式转为参考文献格式
php过滤xss,分享php过滤XSS攻击的函数
分享php过滤XSS攻击的函数php过滤XSS攻击的函数是什么呢?以下是小编分享php过滤XSS攻击的函数,就跟随百分网小编一起去了解下吧,想了解更多相关信息请持续关注我们应届毕业生考试网!以下函数:过滤用户的`输入,保证输入是XSS安全的。例子:复制代码 代码示例:/*** 过滤XSS攻击* edit: www.jbxue.com*/function RemoveXSS($val) {// re...
手把手教你用OPA运放和MOS管搭建恒流源电路(附完整电路图)
本文详细介绍了如何使用OPA运放和MOS管搭建高精度恒流源电路,涵盖核心元器件选型、电路设计、工作原理及实际搭建步骤。通过负反馈控制机制和MOS管工作区设置技巧,实现稳定的电流输出,适用于LED驱动、电池充电等场景。附完整电路图和调试技巧,助您快速掌握恒流源设计。
单光子雪崩二极管(SPAD):原理、极高增益机制与微光探测解析
本文系统阐述了单光子雪崩二极管(SPAD)的工作原理及其在弱光探测中的应用。SPAD通过工作在盖革模式下的碰撞离化效应实现单光子探测,其核心机理包括:1)采用p+-n-n+结构实现高电场分布;2)通过雪崩倍增过程获得10^6量级增益;3)采用主动/被动淬灭机制实现快速恢复。文章详细分析了SPAD的关键性能参数(如光子探测效率、暗计数率等)及其在量子通信、激光雷达等领域的应用优势,揭示了该器件在极微弱光信号探测中的独特价值。
php xss过滤函数,PHP通用的XSS攻击过滤函数,Discuz系统中 防止XSS漏洞攻击,过滤...
流传的移除XSS攻击的php函数 The goal of this function is to be a generic function that can be used to parse almost any input and render it XSS safe. For more information on actual XSS attacks, check out http://h...
代谢组数据分析(五):代谢组的功能富集分析
本文介绍了代谢组数据分析中的功能分析,包括代谢物富集分析、GSEA和ssGSEA方法。文章详细阐述了分析原理、应用背景、数据准备、统计方法以及结果解释,强调了在代谢通路和代谢物ID对应关系建立、差异代谢物筛选、富集程度计算等方面的关键步骤。通过这些方法,可以揭示差异代谢物在生物过程中的作用,为疾病研究和药物开发提供依据。
php处理xssphpxss攻击,php xss过滤函数
作为一个网站的开发人员,经常会遇到各种攻击,最常见的就是XSS攻击,接下来吾爱编程就为大家介绍一下PHP过滤XSS攻击的函数,有需要的小伙伴可以参考一下:1、描述:XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、VBScript、ActiveX、...
基于FPGA的多级CIC滤波器实现四倍插值
基于FPGA的多级CIC滤波器实现四倍插值 原文链接:基于FPGA的多级CIC滤波器实现四倍插值 在《基于FPGA的多级CIC滤波器实现四倍抽取一》和《基于FPGA的多级CIC滤波器实现四倍抽取二》中我们先来了解滑动平均滤波器、微分器、积分器以及梳状滤波器原理以及它们的幅频响应。此篇我们将用verilog实现基于FPGA的多级CIC滤波器实现四倍插值。 1 CIC滤波器的基本概述 CIC(积分梳状...
MIL图像处理那些事:MIL的安装和MIL工具箱
MIL图像处理那些事:MIL的安装和测试,如何用C#使用MIL
php过滤<iframe,php过滤XSS攻击的函数
php过滤XSS攻击的函数本文分享一例防范XSS攻击的.php函数代码,学习下在php中防范XSS攻击的方法,有需要的朋友参考学习下。就跟随百分网小编一起去了解下吧,想了解更多相关信息请持续关注我们应届毕业生考试网!过滤XSS攻击以下函数:过滤用户的输入,保证输入是XSS安全的。例子:复制代码 代码示例:/*** 过滤XSS攻击* edit: www.jbxue.com*/function Rem...
jre9下载 jdk9
(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】
php过滤<iframe,分享:php过滤XSS攻击的函数
/*** 过滤XSS攻击* edit: www.jbxue.com*/function RemoveXSS($val) {// remove all non-printable characters. CR(0a) and LF(0b) and TAB(9) are allowed// this prevents some character re-spacing such as // note ...
NTscan扫描工具
ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。
数学建模模型总结
这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!
PHP CodeBase: 过滤XSS攻击的PHP函数
那么PHP站点如何防御XSS攻击呢? 下面的函数可以用来过滤用户的输入,保证输入是XSS安全的。具体如何过滤,可以参看函数内部,也有注释。 function RemoveXSS($val) { // remove all non-printable characters. CR(0a) and LF(0b) and TAB(9) are allowed // thi
php特定攻击,PHP过滤XSS攻击的函数
XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,进而达到某些人的攻击目的。// note that you have to handle splits with, , and later since they *are* allowed in some i...
PHP过滤XSS攻击的函数
转自:http://thinkblog.sinaapp.com/?p=72 XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,进而达到某些人的攻击目的。 代码Copy自ThinkPHP\Code\ThinkPHP\Common\extend.p...
php xss过滤函数,过滤XSS攻击的PHP函数
function RemoveXSS($val) {// remove all non-printable characters. CR(0a) and LF(0b) and TAB(9) are allowed// this prevents some character re-spacing such as // note that you have to handle splits with...
557



被折叠的 条评论
为什么被折叠?



