小编Top*_*poR的帖子

将 html 显示为文本

在我的游戏中,我将玩家列表从canvas更改为html,因此出现了一个漏洞,任何玩家都可以给自己起一个可以插入js代码的名称,例如,当<script>alert(1);</script>玩家出现时,该名称将适用于所有玩家在玩家列表中。问题是,如何让html不起作用而播放器输入的所有内容都显示为文本?html 中的标签pre对我没有帮助:(

将玩家添加到玩家列表的代码:

const drawLeaderboard = function() {
    if (!settings.showLeaderboard || !leaderboard.items) return wjQuery('#leaderboard').css('display', 'none');
    else wjQuery('#leaderboard').css('display', 'block');
    
    
    let text, vip = false,
        isMe = false;
    
    const texts = {
        all: '',
        emoji: ''
    };
    
    for (let i = 0; i < leaderboard.items.length; i++) {
        if (leaderboard.type == 'text')
            text = leaderboard.items[i];
        else
            text = leaderboard.items[i].name,
            isMe = leaderboard.items[i].me,
            vip = leaderboard.items[i].vip;
        
        texts.all += `<div class="item"${isMe ? 'style="color: #faa;"' : ''}>${text.trim()}</div>`;
        texts.emoji += `<div class="item">${vip ? …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery

5
推荐指数
1
解决办法
109
查看次数

标签 统计

html ×1

javascript ×1

jquery ×1