Comments 18
Для чего ботам "мультилогин"? Они ведь могут спокойненько крутиться на стороне сервера.
Я так и не понял, почему сторона клиента обязательна. Всё это решается на сервере модулем, который следит за активностью и реагирует по заданным правилам. Например, зашёл аноним в чат — взять из пула бота и от его имени написать сообщение со стороны сервера. Пример упрощён, но показывает идею.
я видел некоторые решения для мультилогина, но склонен не доверять их безопасности.
Включение/выключения бота на сервере можно решить флагом функциональности. Отягощать клиент лишним код довольно странное решение. Как и городить "мультилогин". Это ещё и небезопасно, поскольку данные бота могут угнать, так как они доступны на клиенте. А если вы вдруг захотите добавить какое-то более сложное поведение (например, взаимодействие с базой данных или внешним сервисов), придётся всё переделать. В случае с реализацией на сервере вы можете добавить информационных ботов, как например на Twitch.
Как у вас реализован такой момент:
есть 100 сообщений, пропадает интернет, приходит 107-e сообщение? делаете запрос 100 > get < 107?
по технике ответов нету, позиционирование чата не понятна.
Ссылка на код битая. Можно его на гитхаб выложить?
UPD: ссылка на readonly тоже не работает. Основная страничка не лежит.
- На чем написан сайт (бэкенд? фронтенд?)?
- А что за БД стоит? MySql, Oracle?
- Как хранятся сообщения в бд (в которых еще не просто текст, а фотка или еще что-то)?
- Как хорошо справляется движок со стороны производительности с выводом и отображением сообщения чата с картинкой допустим объема в 10МБ? 15МБ? 30МБ?
- Что будете делать когда таблица с сообщениями разростется?
- Если БД MySQL, то со временем, когда БД станет очень большой, то, возможно, будут проблемы с производительностью. Что вы собираетесь делать в этом случае?
Кроме того:
- 110 раз Ошибка в консоли браузера — Uncaught ReferenceError: editAnketa is not defined at HTMLDivElement.onclick (readonly:122)
- В header есть script src="/js/jquery.js". А почему не с CDN?
- В header есть link rel=«stylesheet» href="/css/bootstrap.min.css". А почему не с CDN?
- В main2.js есть функция getCursorXY. А зачем вам понадобилось получать эту информацию? Шпионим? (Мой внутренный параноик не дает покоя)
- В main2.js 2 раза обьявляется $(document).ready(function()
- Слишком много спама в консоли бразуера от скрипта main2.js. Это сообщение было вызвано 6 раз среди кучи других — (6) main2.js:1087 out
- Слишком много спама в консоли бразуера. Оказывается еще сообщения пользователей тоже выбрасываются в консоль.
- Слишком много спама в консоли бразуера типа — {to: «room», id: XX} {id: XXXX, user_id: XXX, user_name: «XXXX», user_avatar: "", user_sex: «female», …}
- В HTML разметке я обнаружил data-user-id=«714». Думаю в разметке многих местах есть подобного рода штука. Что если я поменяю на свое значение? А что если я смешаю все данные? Есть проверка на валидность данных?
- Пока писал в консоли стало уже 185 ошибок и дофига других сообщений
- В HTML разметке есть: body style=«height:100%;». Напомнило это
2. MySQL.
3. В виде HTML.
4. Есть лимит на размер входящего файла. Большие изображения урезаются до 800px (в прочем я думаю увеличить это число).
5. Почищу старые записи.
6. Почищу таблицу если будут проблемы, возможно введу дополнительные индексы.
Теперь остальное:
1, 10: Вчера были перебои в работе сервера скорее всего ошибки вызываны периодическими падениями сервера.
2, 3: Не вижу в этом необходимости.
4. В одном случае помещаю всплывающую подсказку рядом с мышкой, в другом — ссылку для цитирования.
5. Я как-то объединил два файла в один. Скорее всего осталось оттуда. В прочем, в этом нет ничего страшного.
6, 7, 8: Может быть. Не думал, что это будет кому-то мешать.
9. Ничего страшного не случится.
Crawc.net — создание и стилизация своих медиачатов