广告
返回顶部
首页 > 资讯 > 精选 >js如何防止xss攻击
  • 589
分享到

js如何防止xss攻击

2024-04-02 19:04:59 589人浏览 独家记忆
摘要

js防止xss攻击的方法:对用户的输入及请求都进行过滤检查,如对特殊字符进行过滤,设置输入域的匹配规则等,例如:function removeXss(val){val = val.replace(/([\x00-\x08][\x0b-\x0

js如何防止xss攻击

js防止xss攻击的方法:

对用户的输入及请求都进行过滤检查,如对特殊字符进行过滤,设置输入域的匹配规则等,例如:

function removeXss(val)

{

val = val.replace(/([\x00-\x08][\x0b-\x0c][\x0e-\x20])/g, '');

var search = 'abcdefghijklmnopqrstuvwxyz';

search += 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';

search += '1234567890!@#$%^&*()';

search += '~`";:?+/={}[]-_|\'\\';

for (var i = 0; i < search.length; i++) {

var re = new RegExp('(&#[x|X]0{0,8}'+ parseInt(search[i].charCodeAt(),16)+';?)','gi');

val = val.replace(re, search[i]);

re = new RegExp('({0,8}'+ search[i].charCodeAt() + ';?)','gi');

val = val.replace(re, search[i]);

}

var ra1 = ['javascript', 'vbscript', 'expression', 'applet', 'meta','blink', 'link', 'script', 'embed', 'object', 'iframe', 'frame', 'frameset', 'ilayer', 'layer', 'bgsound', 'title'];

var ra2 = ['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'];

var ra = [].concat(ra1, ra2);

var found = true;

while (found == true) {

var val_before = val;

for (var i = 0; i < ra.length; i++) {

var pattern = '';

for (var j = 0; j < ra[i].length; j++) {

if (j > 0) {

pattern += '(';

pattern += '(&#[x|X]0{0,8}([9][a][b]);?)?';

pattern += '|({0,8}([9][10][13]);?)?';

pattern += ')?';

}

pattern += ra[i][j];

}

parttern = new RegExp(pattern,'gi');

var replacement = ra[i].substr(0, 2) + ''+ ra[i].substr(2);

val = val.replace(parttern, replacement);

if (val_before == val) {

found = false;

}

}

}

return val;

}

--结束END--

本文标题: js如何防止xss攻击

本文链接: https://www.lsjlt.com/news/115282.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • js如何防止xss攻击
    js防止xss攻击的方法:对用户的输入及请求都进行过滤检查,如对特殊字符进行过滤,设置输入域的匹配规则等,例如:function removeXss(val){val = val.replace(/([\x00-\x08][\x0b-\x0...
    99+
    2022-10-21
  • vue如何防止xss攻击
    这篇“vue如何防止xss攻击”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue如何防止xss攻击”文章吧。vue防止xs...
    99+
    2023-07-04
  • yii2如何防止xss攻击
    yii2防止xss攻击的示例代码:在对应文件中添加以下代码进行调用:function actionClean($str){$str=trim($str);$str=strip_tags($str);$str=stripslashe...
    99+
    2022-10-19
  • django如何防止xss攻击
    django防止xss攻击的方法:使用escape过滤器,无需转义时使用safe过滤器,对单一变量进行转义过滤,例如:Hello {{ a|escape }} # 转义{{a}} # 转义{{a|safe}} # 认为a安全,不进行转义利用...
    99+
    2022-10-09
  • react如何防止xss攻击
    react防止xss攻击的方法:react在渲染html内容和渲染dom属性时都会将 "'&<>这几个字符进行转义,转义部分源码如下:for (index = match....
    99+
    2022-10-13
  • angular如何防止xss攻击
    angular防止xss攻击的示例:angular提供了一个DomSanitizer服务,提供的方法如下:export enum SecurityContext { NONE, HTML, STYLE, SCRIPT, URL, RESOU...
    99+
    2022-10-17
  • java如何防止xss攻击
    java防止xss攻击的方案:配置过滤器,代码如下:public class XSSFilter implements Filter {@Overridepublic void init(FilterConfig filterConfig)...
    99+
    2022-10-21
  • emlog如何防止xss攻击
    emlog防止xss攻击的方法:给cookie设置上httponly检查,操作步骤:打开“include\lib\loginauth.php”文件,找到第134行的setAuthCookie函数,改成以下代码:public static f...
    99+
    2022-10-15
  • 前端如何防止xss攻击
    前端防止xss攻击的方法:过滤非法字符,例如:// 过滤XSS反射型漏洞filterInputTxt: function (html) {html = html.replace(/(.*]+>.*)/g,""); // HTML标记html...
    99+
    2022-10-06
  • 网页如何防止xss攻击
    网页防止xss攻击的方法:实现过滤器对特殊字符进行转义过滤,例如:function filter(xss) {  var whiteList = ['h1'...
    99+
    2022-10-23
  • 表单如何防止xss攻击
    表单防止xss攻击的方法:可以使用PHP中trim()函数去除用户输入数据中不必要的字符(如:空格、tab、换行)。使用PHP中stripslashes()函数去除用户输入数据中的反斜杠(\),示例代码:function chec...
    99+
    2022-10-22
  • springboot项目如何防止XSS攻击
    目录1. 什么是XSS攻击? 2. 如何防范? 2.1 什么时候注入请求参数 3. 具体处理细节 1. 什么是XSS攻击?     XSS攻...
    99+
    2022-11-12
  • vue怎么防止xss攻击
    vue防止xss攻击的示例分析:用node.js做测试,在终端引入xss,命令如下:npm install xss --save在vue的页面进行引入,例如:import xss from&...
    99+
    2022-10-20
  • ci怎么防止xss攻击
    ci防止xss攻击的方法:对全局的POST、GET、COOKIE进行过滤,打开config.php文件,配置如下:$config['global_xss_filtering'] = TRUE;...
    99+
    2022-10-16
  • antixss怎么防止xss攻击
    antixss防止xss攻击的方法:antixss是由微软推出用于防止xss攻击的一个类库,可在将html数据保存到数据库之前,使用AntiXSS Sanitizer对象调用GetSafeHtml或GetSafeHtmlFragment,并...
    99+
    2022-10-15
  • 如何防止xss和sql注入攻击
    防止xss和sql注入攻击的通用方法:php防sql注入和xss攻击通用过滤如下:function string_remove_xss($html) {preg_match_all("/\...
    99+
    2022-10-17
  • JSP如何写过滤器防止xss攻击
    JSP写过滤器防止xss攻击的方法:利用Servlet的过滤器机制,编写定制的XssFilter,将request请求代理,覆盖getParameter和getHeader方法将参数名和参数值里的指定半角字符,强制替换成全角字符,代码如下:...
    99+
    2022-10-24
  • SpringBoot如何防止XSS注入攻击详解
    什么是 XSS 攻击 在跨站脚本(XSS)攻击中,攻击者可以在受害者的浏览器中执行恶意脚本。这种攻击通常是通过在网页中插入恶意代码 (JavaScript) 来完成的。攻击者在使用...
    99+
    2022-11-12
  • js如何防御XSS跨域脚本攻击
    js防御XSS跨域脚本攻击的方法:通过使用replace()全部替换为实体即可,例如:name = name.replace(//g, ">");防御示例:function removeXss(val){val =...
    99+
    2022-10-19
  • tp5如何防xss攻击
    tp5防xss攻击的方法:在公共函数文件common.php中加入以下方法:function filter_default($value){return htmlspecialchars($value, ENT_NOQUOTES);}在配置...
    99+
    2022-10-10
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作