Witam!
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 });
}
});