Хорошо, у меня сейчас небольшая проблема.Проблема в том, что у меня есть этот socket.emit:
socket.emit("item-bought-intel", {
username: "Dievas", // <<<< problem
itemId: "5bb134bfc94e3d0dd45b0957",
item_title: "Ivory",
item_price: 75,
item_power: 5
})
И я могу запустить этот код через консоль и затем купить предмет, если у пользователя достаточно золота.Но дело в том, что я могу найти любого пользователя на веб-сайте и увидеть его золото, а затем использовать его имя пользователя в этом socket.emit, чтобы отправить его через консоль и купить предметы для его аккаунта.Это происходит потому, что на стороне сервера я нахожу пользователя по username
из socket.emit и проверяю, достаточно ли у него золота, чтобы купить указанный предмет.В настоящее время это мой код на стороне сервера:
User.findOne({username: data.username}).then((user) => {});
Мне нужно знать, есть ли способ найти пользователя в БД без использования username
в socket.emit?
Может быть, я должен использовать идентификатор пользователя в socket.emit?Потому что на сайте я нигде не показываю идентификаторы пользователей.