From 32e847e7a0f5a448e1f55030b888f036cc6b8a2d Mon Sep 17 00:00:00 2001 From: npt-1707 Date: Mon, 17 Aug 2026 13:00:07 +0800 Subject: [PATCH] Fix XSS --- .../Theme/assets/js/bootstrap.js | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/Reporting/WarBerryReporting/Theme/assets/js/bootstrap.js b/Reporting/WarBerryReporting/Theme/assets/js/bootstrap.js index 2c64257..0313649 100755 --- a/Reporting/WarBerryReporting/Theme/assets/js/bootstrap.js +++ b/Reporting/WarBerryReporting/Theme/assets/js/bootstrap.js @@ -101,7 +101,7 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") } selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 } - var $parent = $(selector) + var $parent = $(document).find(selector) if (e) e.preventDefault() @@ -465,8 +465,14 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") } // ================= $(document).on('click.bs.carousel.data-api', '[data-slide], [data-slide-to]', function (e) { - var $this = $(this), href - var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 + var $this = $(this) + var href = $this.attr('href') + if (href) { + href = href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7 + } + + var target = $this.attr('data-target') || href + var $target = $(document).find(target) var options = $.extend({}, $target.data(), $this.data()) var slideIndex = $this.attr('data-slide-to') if (slideIndex) options.interval = false @@ -780,7 +786,7 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") } selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 } - var $parent = selector && $(selector) + var $parent = selector && $(document).find(selector) return $parent && $parent.length ? $parent : $this.parent() } @@ -1053,7 +1059,10 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") } $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) { var $this = $(this) var href = $this.attr('href') - var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7 + var target = $this.attr('data-target') || + (href && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7 + + var $target = $(document).find(target) var option = $target.data('modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data()) e.preventDefault()