Yuki 1 Опубликовано: 6 марта 2023 Рассказать Опубликовано: 6 марта 2023 (изменено) Входные данные: 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 ? Изменено 6 марта 2023 пользователем Yuki Цитата Ссылка на сообщение Поделиться на других сайтах
crafic 32 Опубликовано: 6 марта 2023 Рассказать Опубликовано: 6 марта 2023 в сессии хранится user_id . используйте ее https://nodejsdev.ru/doc/sessions/ Цитата Ссылка на сообщение Поделиться на других сайтах
Yuki 1 Опубликовано: 22 марта 2023 Рассказать Опубликовано: 22 марта 2023 Автор Сделал в общем так: Установил npm пакет "exec-php" в nodejs, и запускаю через него php функцию api (см. документацию) $dle_api->external_auth($login, $password) И в зависимости от ответа true/false принимаю действия. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.