我的功能如下:
$("#"+element_name).show();
现在,这个"This may enable a DOM XSS attack."
给出了一些安全问题。那么,有没有更好的方法来使用传递的element_name选择元素。这可以作为替代。
自动代码审核应用程序将此标记为关注点:default
答案 0 :(得分:1)
由于javascript(以及“隐藏”内容)是客户端的,因此无论如何都没有值得一提的安全性。客户端无法信任。
如果您需要提供给函数的字符串不被解析,请改用document.getElementById
:
function test(element_name){
$(document.getElementById(element_name)).show();
}
答案 1 :(得分:0)
您可以检查元素是否是某个对象的子元素,或者您可以将自定义标记添加到应该能够.show()的元素并检查它们,但我想没有其他“安全方法”可以通过ID分配对象。