我有以下的javascript代碼:如何使用Javascript呈現字符串中的HTML?
var html = '<div class="col-lg-4 col-references" idreference="'+response+'"><span class="optionsRefer"><i class="glyphicon glyphicon-remove delRefer" style="color:red; cursor:pointer;" data-toggle="modal" data-target="#modalDel"></i><i class="glyphicon glyphicon-pencil editRefer" data-toggle="modal" data-target="#modalRefer" style="cursor:pointer;"></i></span><div id="contentRefer'+response+'">'+refer_summary+'</div><span id="nameRefer'+response+'">'+refer_name+'</span></div>';
$("#references").append(html);
運行此代碼時,該refer_summary
變量實際上包含了可能包含HTML標籤,例如<b>
,<i>
等,但是,這些標籤顯示在頁面上的繩子而不是渲染他們的行爲。
例如,在頁面上它將顯示<b>
,而實際上使內容變爲粗體。
如何在附加值時渲染HTML標記?
在我的Django模板中,我使用了{% autoescape off %}{{content}}{% endautoescape %}
,所以當我第一次加載頁面時,內容用粗體等正確呈現。但是如何在從javascript附加html時做同樣的事情?
感謝您的幫助!
聽起來像XSS攻擊等待發生。 –