处理html表单时,我需要在将文本字段保存到数据库之前将其附加到文本字段。为了让它更漂亮,我需要在它们之间添加换行符:
userText = userText + "<br>" + appendedText;
# save userText in database
问题是,在提取文本以呈现网页时,为了再次保护XSS,我需要在渲染之前从数据库中转义文本。因此,userText中的<br>
呈现为<br>
而不是换行符。
所以我想知道是否还有其他方法来生成<br>
以外的换行符?
我试过&#34; \ n&#34; &#34; \ r \ n&#34;和&#34; &#34;,它们都不起作用。
此外,附加文本与原始文本位于同一元素中,因此css带有&#39; display:block&#39;是不可能的。
答案 0 :(得分:1)
使用\n
,然后在从数据库中提取数据之后,在输出数据之前,将所有\n
替换为<br />
。
这样您对XSS
仍然是安全的,并且您可以完全控制输出。
答案 1 :(得分:0)