Mam prosty czat na socketach i problem jest w tym, że socketa mozna tez przez konsole wyslac i łatwo jest się podszywac, nie mam pomysłu jak to naprawic
strona:
socket.on('message', function(data){ $('.chat-body').append('<div><div class="chat-message" id="chat-message"><div class="chat-name"><img src="'+data.avatar+'" class="img-rounded float-left avatar"><p><strong>'+data.login+'</strong></p></div><div class="chat-message"><p>'+data.message+'</p></div></div></div>'); $('#message').val(''); document.getElementById("chat").scrollTop = document.getElementById("chat").scrollHeight; });
socket.emit("message", { admin: "<?php print($admin); ?>", avatar: "<?php print(htmlspecialchars(trim($_SESSION["steam_avatar"]))); ?>", login: "<?php print($_SESSION["steam_personaname"]); ?>", message: $("#messageee").val() });
serwer:
socket.on('message', function(data){ if(data.admin == 1) { var login = '<span style="color: red;">'+data.login+'</span>'; } else if(data.admin == 2) { var login = '<span style="color: green;">'+data.login+'</span>'; } else if(data.admin == 3) { var login = '<span style="color: orange;">[STREAMER] '+data.login+'</span>'; } else { var login = data.login; } if(data.admin != 4) { var message = entities.encode(data.message); io.emit('message', { avatar: data.avatar, login: login, message: message }); } });