Polaris148 2023-05-29 15:13 采纳率: 100%
浏览 23
已结题

后端传的“alert”字符串 html页面变成了alert_a_l_e_r_t

后端传的“alert”字符串 html页面变成了alert_a_l_e_r_t

  • 写回答

3条回答 默认 最新

  • 断水流大撕兄 HarmonyOS创作领域新星创作者 2023-05-29 16:05
    关注

    当后端向前端传递HTML内容时,为了防止XSS攻击,通常会对一些字符串进行转义。
    比如:<会被转义为< >会被转义为>等。
    对于alert()这样的JavaScript代码,会被转义为alert_a_l_e_r_t,以防止不信任的HTML内容执行JavaScript。
    那么如何解决这个问题,在前端正确显示alert字符串呢?有两种方式:

    1. 在后端传递数据时,不进行HTML转义这种方式存在安全风险,不推荐。
    2. 在前端接收数据后,进行HTML反转义在前端,接收到alert_a_l_e_r_t字符串后,使用DOMParser。例如:
    let str = 'alert_a_l_e_r_t'
    let doc = new DOMParser().parseFromString(str, 'text/html')
    let alertStr = doc.body.textContent
    // alertStr is 'alert'
    

    DOMParser会自动对HTML内容进行反转义,所以alertStr获取到的结果是'alert'。然后,你可以在页面中直接使用alertStr,它已经是正确的HTML内容了:

    <span id="alert">${alertStr}</span>
    

    这样,前端展示的结果就是:alert而不是被转义的alert_a_l_e_r_t。

    望采纳!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月25日
  • 已采纳回答 8月25日
  • 创建了问题 5月29日

悬赏问题

  • ¥15 在国外文献网站里点击view pdf 加载异常缓慢甚至加载不出来。
  • ¥50 python批量提取发票的信息
  • ¥15 mysql安装,初始化数据库失败
  • ¥15 虚幻五引擎内容如何上传至网盘?
  • ¥15 使用mmpose库时出现了问题
  • ¥15 IRI2016模型matlab运行报错
  • ¥50 bat怎么设置电脑后台自动点击网页指定词运行脚本,输入指定网页链接,指定点击词,指定间隔时间,指定网页出现的词,指定网页出现词出现后后点击锁定,放在后台运行不影响前台鼠标工作
  • ¥20 20CrMnMo的高温变形抗力
  • ¥15 RTX3.6 5565驱动中断报错
  • ¥50 带防重放token(Antireplay-Token)的网站怎么用Python发送请求