php xss 函数

function xss($string) {
    if (is_array($string)||is_object($string)||is_resource($string)) {
        return ‘‘;
    }else {
        $string = preg_replace(‘/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]+/S‘, ‘‘, $string);

        $parm1 = Array(‘javascript‘, ‘vbscript‘, ‘expression‘, ‘applet‘, ‘meta‘, ‘xml‘, ‘blink‘, ‘link‘, ‘script‘, ‘embed‘, ‘object‘, ‘iframe‘, ‘frame‘, ‘frameset‘, ‘ilayer‘, ‘layer‘, ‘bgsound‘, ‘title‘, ‘base‘);

        $parm2 = 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‘);

        $parm = array_merge($parm1, $parm2); 

        for ($i = 0; $i < sizeof($parm); $i++) {
            $pattern = ‘/‘;
            //var_dump($parm[$i]);
            for ($j = 0; $j < strlen($parm[$i]); $j++) {
                if ($j > 0) {
                    $pattern .= ‘(‘;
                    $pattern .= ‘(&#[x|X]0([9][a][b]);?)?‘;
                    $pattern .= ‘|(&#0([9][10][13]);?)?‘;
                    $pattern .= ‘)?‘;
                }
                $pattern .= $parm[$i][$j];
                var_dump($pattern);
            }
            $pattern .= ‘/i‘;
            //var_dump($pattern);
            $string = preg_replace($pattern, ‘‘, $string);
        }
        return $string;
    }
}
时间: 2024-12-15 01:44:31

php xss 函数的相关文章

htmlpurifier-富文本编辑器过滤XSS

本帖语言环境:php:开发框架:TP3.2; 1.htmlpurifier-4.6.0下载地址:https://files.cnblogs.com/files/samgo/htmlpurifier-4.6.0.zip 将下载好的压缩包解压,修改名称为htmlpurifier,放在如下目录: 2.定义公共函数clearXSS(),路径:Application/Common/Common/function.php(注意function.php不能写成functions.php) /* 过滤xss函数

【安全编码实践】保护自己免受跨站点脚本攻击

声明:本文由Bypass整理并翻译,仅用于安全研究和学习之用. 文章来源:https://medium.com/bugbountywriteup/how-to-write-secure-code-b2757b59cd4b 如何编写安全代码?保护自己免受跨站点脚本攻击! 过去几个月我一直致力于安全代码实践,我一直在努力与社区讨论易于采用的方法.我们每天看到的不安全代码的数量确实令人震惊,我们都同意“预防胜于治疗”. 保持我们的代码和应用程??序安全的最佳方法是从一开始就正确编程.编写安全代码并不困

SemCms2.7 后台 SEMCMS_InquiryView.php SQL 注入

0x00前言 开始从小的漏洞开始练习,搬运项目地址: https://github.com/imsebao/Code-Audit 0x01 SemCms 是一套开源外贸企业网站管理系统,主要用于外贸企业,兼容 IE. Firefox 等主流浏览器.SemCms 使用 php 和 vb 语言编写,结合 apache 或 iis 运行. SEMCMS_InquiryView.php 文件存在 SQL 注入漏洞.允许攻击者利用 漏洞直接操作网站数据库. 漏洞分析:www/ohbc_Admin/SEMC

Dedecms存在储存型跨站脚本漏洞

0x00前言 开始从小的漏洞开始练习,搬运项目地址: https://github.com/imsebao/Code-Audit 0x01 Dedecms是一款开源的PHP开源网站管理系统. Dedecms会员功能carbuyaction.php中的address.des.email.postname参数存在存储型XSS漏 洞,攻击者可利用漏洞获得管理员cookie. 测试环境:DedeCMS-V5.7-UTF8-SP2 发布日期: 2017-03-15 官方最新版 漏洞利用条件:DedeCMS

PHP.25-TP框架商城应用实例-后台1-添加商品功能、钩子函数、在线编辑器、过滤XSS、上传图片并生成缩略图

添加商品功能 1.创建商品控制器[C] /www.test.com/shop/Admin/Controller/GoodsController.class.php <?php namespace Admin\Controller; use Think\Controller; //后台添加商品功能控制器 class GoodsController extends Controller { //显示和处理表单 public function add() { //判断用户是否提交了表单(如果提交了,就

PHP通用的XSS攻击过滤函数,Discuz系统中 防止XSS漏洞攻击,过滤HTML危险标签属性的PHP函数

XSS攻击在最近很是流行,往往在某段代码里一不小心就会被人放上XSS攻击的代码,看到国外有人写上了函数,咱也偷偷懒,悄悄的贴上来... 原文如下: 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 h

PHP清理跨站XSS xss_clean 函数 整理自codeigniter Security

由Security Class 改编成函数xss_clean 单文件直接调用.BY吠品. //来自codeigniter 清理跨站XSS xss_clean //Security Class 改编成函数 function remove_invisible_characters($str, $url_encoded = TRUE) { $non_displayables = array(); if ($url_encoded) { $non_displayables[] = '/%0[0-8bce

htmlspecialchars() 函数过滤XSS的问题

htmlspecialchars()函数的功能如下: htmlspecialchars() 函数把预定义的字符转换为 HTML 实体. 预定义的字符是: & (和号)成为 & " (双引号)成为 " ' (单引号)成为 ' < (小于)成为 < > (大于)成为 > 它的语法如下: htmlspecialchars(string,flags,character-set,double_encode) 其中第二个参数flags需要重要注意,很多开发者

xss过滤函数

XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中. 比如这些代码包括HTML代码和客户端脚本. function remove_xss($string) { $string = preg_replace('/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]+/S', '', $string); $parm1 = Array('javascript', 'vbscript', 'expression', 'applet'