Skip to content

Commit b1d311a

Browse files
committed
luci: escape html in group names for node_list
1 parent 70f8e6c commit b1d311a

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

luci-app-passwall/luasrc/view/passwall/node_list/node_list.htm

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -755,6 +755,12 @@
755755
}
756756
}
757757
}
758+
759+
function escape_html(s) {
760+
return s.replace(/[&<>"']/g, c => ({
761+
"&":"&amp;", "<":"&lt;", ">":"&gt;", '"':"&quot;", "'":"&#39;"
762+
}[c]));
763+
}
758764
</script>
759765

760766
<script type="text/template" id="nodes-table-template">
@@ -938,7 +944,7 @@
938944

939945
tab_ul_li_html +=
940946
'<li group_name="' + group + '" id="tab.passwall.nodes.' + group + '" class="cbi-tab">' +
941-
'<a onclick="this.blur(); return cbi_t_switch(\'passwall.nodes\', \'' + group + '\')" href="<%=REQUEST_URI%>?tab.passwall.nodes=' + group + '">' + group_name + " | " + "<font style='color: red'>" + group_nodes[group].length + '</font></a>' +
947+
'<a onclick="this.blur(); return cbi_t_switch(\'passwall.nodes\', \'' + group + '\')" href="<%=REQUEST_URI%>?tab.passwall.nodes=' + group + '">' + escape_html(group_name) + " | " + "<font style='color: red'>" + group_nodes[group].length + '</font></a>' +
942948
'</li>'
943949
tab_content_html +=
944950
'<div class="cbi-tabcontainer" id="container.passwall.nodes.' + group + '" style="display: none;">' +

0 commit comments

Comments
 (0)