Перейти к публикации

Как проверить кто отправил сообщение в чате?


Рекомендованные сообщения

Входные данные:
1. Сайт на DLE
2. Чат на Vue 3 + Node.js + MySQL. Дополнение в виде чата. Чат могут видеть только авторизованные пользователи на самом сайте. Проверка такая: 

[not-group=5] 
    {include file="vChat/dist/index.tpl"} // тут как раз подключается vue.js
[/not-group]

Вопрос: Как определить какой именно пользователь отправил сообщение в чате, если чат и сайт связаны только одно БД и в чате нет авторизации?

Вариант реализации придумал пока только один: 

Отправлять в POST запросе `user.id` и сравнивать его значение с БД + что бы определить, что идентификатор не подменён на фейковый делать проверку `user.ip` (есть в БД). На node.js типа: `+response.body.user_id === user.id && req.socket.remoteAddress === user.ip`

Хотелось бы просто предложения услышать, можно ли как-то еще реализовать проверку на то, кто именно отправляет сообщения в чате?

PS: какую схему авторизации вообще использует DLE ? 

Изменено пользователем Yuki
Ссылка на сообщение
Поделиться на других сайтах
  • 3 недели спустя...

Сделал в общем так:

Установил npm пакет "exec-php" в nodejs, и запускаю через него php  функцию api (см. документацию)

$dle_api->external_auth($login, $password)

И в зависимости от ответа true/false принимаю действия.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...