Я должен добавить код Java в файл JavaScript - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть файл JavaScript script.js , который имеет следующий код

var winLoc = String(this.window.location);
var pos = winLoc.indexOf("lang=");
var spacer = '?';
if(pos >0) {
    var curLang = winLoc.substring(pos+5,pos+7);
    winLoc = winLoc.replace('lang=' + curLang, 'lang='+newLang);

} else {
    if(winLoc.indexOf("?") > 0) {
        spacer = '&';
    }

    winLoc = winLoc + spacer + 'lang=' + newLang;
}

this.window.location = winLoc;  //cross site scripting issue//

Я должен добавить этот код Java для переменной winLoc

winLoc = ESAPI.encoder().encodeForHTML(winLoc);     

и этот метод encoder () находится в ESAPI jar , который мне нужно добавить также

Я использую его, чтобы избежать отраженных межсайтовых сценариев XSS.

Помогите мне в добавлении этого Java-кода в JS-файл или любую другую альтернативу?

Ответы [ 2 ]

0 голосов
/ 29 сентября 2018

Вместо этого вам придется использовать инструмент баз JavaScript.Посмотрите на что-то вроде DOMPurify или jquery encoder.

Для контекста, который вы запрашиваете, экранирование HTML выглядит неправильно.Вы, вероятно, вместо этого используете encodeURIComponent.

0 голосов
/ 27 сентября 2018

Ну, я не знаю, что вы собираетесь сделать, но, как правило, вы не можете выполнить код Java внутри JavaScript.

Javascript - это сторона клиента, что означает, что он интерпретируется браузером пользователя, а Java компилируется в байт-код и выполняется JVM на стороне сервера.

Однако вы можете запустить JSP в элементе, но он должен вернуть действительный JS.

https://www.javatpoint.com/jsp-expression-tag

...