RemoveXSS()

function filterFunc($str){
	//return RemoveXSS(HtmlReplace(iconv(‘utf-8‘, ‘gb2312‘, $str)));
	return RemoveXSS(HtmlReplace($str));
}
//遍历
function FilterArrXSS($data){
	if(is_array($data)){
		foreach($data as $key => $value){
			$data[$key]=FilterArrXSS($value);
		}
		return $data;
	}
	return filterFunc($data);
}
//
$(function(){
	//页面载入是否将所有checked设置成空
	setCheckedFalse();
	var btnlist;
	$(‘.btn‘).bind(‘click‘, function (){
	  var arr=[];
		btnlist=$(":checked");
		btnlist.each(function (index){
			arr.push($(this).val());
		});
		RendingHtml(arr);
	});

	//渲染HTML,这里的要点是判断左边项目是否与右边的项目多对多的关系
	function RendingHtml(arr){
		if(empty_array(arr)==false){
			$(‘.item‘).show();
		}else{
			var cid,flag;
			$(".item").each(function (index){
				cid=$(this).attr(‘cid‘);
				flag=SubsetInfo(arr,cid);
				if(flag==true){
					$(this).show();
				}else{
					$(this).hide();
				}
			});
		}
	}

	//判断数组是否是空
	function empty_array(arr){
		return arr.length > 0 ? true : false;
	}

	//设置所有checkbox的checked为false
	function setCheckedFalse(){
		$(".btn").each(function (){
			$(this).removeAttr("checked");

		});
	}

	//包含检测
	function SubsetInfo(arr,patter){
		for(var i in arr){
			if(checkRegExp(arr[i],patter)==false){
				return false;
			}
		}
		return true;
	}

	//正则检测
	function checkRegExp(str,patter){
		return new RegExp("(\\b|^|,)"+str+"(\\b|$|,)").test(patter);
	}

});
时间: 2024-10-27 12:08:02

RemoveXSS()的相关文章

RemoveXss函数主要用于跨站脚本的过滤

//Remove the exploer'bug XSS function RemoveXSS($val) {?? $val = preg_replace('/([\x00-\x08,\x0b-\x0c,\x0e-\x19])/', '', $val);?? ?? $search = 'abcdefghijklmnopqrstuvwxyz';?? $search .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';?? $search .= '[email protected]#$%

PHP防御XSS攻击的终极解决方案

最近测试XSS攻击修复时,找到的一个比较不错的文章,分享给大家. Update20151202: 感谢大家的关注和回答,目前我从各种方式了解到的防御方法,整理如下: PHP直接输出html的,可以采用以下的方法进行过滤: 1 1.htmlspecialchars函数 2   3 2.htmlentities函数 4   5 3.HTMLPurifier.auto.php插件 6   7 4.RemoveXss函数(百度可以查到) PHP输出到JS代码中,或者开发Json API的,则需要前端在J

htmlpurifier 过滤危险的JS代码

在公共函数function里面 // 有选择性的过滤XSS --> 说明:性能非常低->尽量少用function removeXSS($data){ require_once './HtmlPurifier/HTMLPurifier.auto.php'; $_clean_xss_config = HTMLPurifier_Config::createDefault(); $_clean_xss_config->set('Core.Encoding', 'UTF-8'); // 设置保留的

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

DedeCMS顽固木马后门专杀工具V2.0实现方式研究

catalog 1. 安装及使用方式 2. 检查DEDECMS是否为最新版本 3. 检查默认安装(install)目录是否存在 4. 检查默认后台目录(dede)是否存在 5. 检查DedeCMS会员中心是否关闭 6. 检查是否存在高风险的若密码账户 7. 后台友情链接xss漏洞 8. /plus/search.php SQL注入漏洞 9. /plus/feedback.php SQL注入漏洞 10. /plus/feedback_ajax.php SQL注入或XSS漏洞漏洞 11. /incl

php xss过滤

XSS又叫CSS (Cross Site Script) ,跨站脚本攻击.它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入当中Web里面的html代码会被运行,进而达到某些人的攻击目的. 比如在有get接收的链接后面加入?id=19"><div+style%3Dwidth%3Aexpression(alert(42873))> 会导致页面错乱,甚至还会有弹出框! 以下是thinkphp里面的一段代码.用于过滤xss ThinkPHP\Code\Th

SQL注入与xss

1. 什么是SQL注入 所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.通过递交参数构造巧妙的SQL语句,从而成功获取想要的数据. 2. SQL注入的种类 从具体而言,SQL注入可分为五大类,分别是:数字型注入.字符型注入.搜索型注入(like).in型的注入.句语连接型注入. 从应用来说,要特别注意IP.搜索.批量删除.从数据库转到数据库等地方的SQL注入. 3. 如何防止SQL注入 3.1 SQL注入产生的原因

DocCms存储型XSS+后台任意文件下载上传+目录删除+sql执行(有条件可getshell)

下载链接 https://share.weiyun.com/46ebceb4fe91da144ad2661522a941e1 留言处存储型XSS 漏洞在content/guestbook/index.php function create() { echo 123; global $db,$request; if ($_SESSION['verifycode'] != $request['checkcode']) { echo '<script>alert("请正确填写验证码!&qu

PHP.31-TP框架商城应用实例-后台9-商品相册-修改、删除(AJAX)

商品相册图片删除 当商品删除时,把相册中的图片一并从硬盘和数据库中删除,根据商品id[因为每一张商品相片都会生成三张缩略图,所以删除时要将其缩略图一并删除] //钩子方法_before_delete:删除前的操作 protected function _before_delete($option) { $id = $option['where']['id']; //要删除的商品的ID /***********删除商品相片********/ //先查询出原商品相册的路径 $gpModel = M(