Do not modify innerHTML or outerHTML
このページは日本語には対応しておりません。随時翻訳に取り組んでいます。
翻訳に関してご質問やご意見ございましたら、
お気軽にご連絡ください。
ID: javascript-browser-security/inner-outer-html
Language: JavaScript
Severity: Warning
Category: Security
CWE: 79
Description
Properties like innerHTML
and outerHTML
should not be modified directly unless such modifications are clearly reviewed. Modifying innerHTML
or outerHTML
using user inputs that has not been validated can lead to XSS injection.
Learn More
Non-Compliant Code Examples
function nonCompliant(argument) {
const content = '<div>' + argument + '</div>';
document.write(content);
}
function nonCompliant(myArgument) {
document.body.outerHTML = myArgument;
}
if (typeof(SERVER_DOMAIN) === 'undefined') {
window.location.replace("/unconfigured.html");
}
const RECEIVE_URL = SERVER_DOMAIN + "/challenge_scoreboard.html" + "?origin=" + get_domain();
var window_ref = null;
document.getElementById("username").focus();
function store_username() {
var username;
var username_obj;
username_obj = document.getElementById("username");
username = username_obj.value
var welcome;
welcome = document.getElementById("welcome");
welcome.innerHTML = "Welcome " + html_encode (username);
var set_username;
set_username = document.getElementById("set_username");
set_username.style.display="none";
var game;
game = document.getElementById("game");
game.style.display="inline";
start_game();
// have to do time out so the window can open
setTimeout (function () {send_username(username);}, 1000);
return false;
}