столкнулся с проблемой безопасности с socket.io - PullRequest
0 голосов
/ 19 апреля 2020

Я разработал приложение для чата с комнатами в сокете. Io

пользователи собирают информацию о хакерах или некоторых людях, выкидывающих пользователей из консоли, или пишут теги HTML в сообщениях, некоторые люди говорят, что хакеры делают браузер refre sh!

, поэтому мой вопрос! Кто-нибудь может написать в сообщении команду javascript? и заставить его работать в браузерах других пользователей? это моя сторона сервера! как вы видите, я избегаю этих символов

    socket.on("messageToServer",(data)=>{
        data.message=data.message.replace(/\\/g, "\\\\")
        .replace(/\$/g, "\\$")
        .replace(/'/g, "\\'")
        .replace(/"/g, "\\\"");

         io.to(data.room).emit("messageToClient",data);
    })

это моя сторона клиента! когда пользователь отправляет сообщение на сервер

socket.emit("messageToServer",{message:$("#messageContent").val(),room:room,id:socket.id});

, как я могу избежать тегов html? умным способом? я не хочу делать это жестко, отфильтровывая все теги в html

У меня никогда не было много пользователей в моем веб-приложении, поэтому у меня очень низкий опыт защиты их

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...