ОсновноеRadiotalkПользовательское
MPCHAT - CMS хостинг чатов для профессионалов
90   •   Посмотреть все темы

Форумы для чатов

 

187
chat-for-all @chat-for-all
В яве есть и два больших минуса.
1. Код скрипта отправляется клиенту. Пользователь может почитать скрытые команды встроенные в клиентские скрипты. Вот когда я добавлял некоторые команды в клиентскую js-часть чата только для административного использования, я просто вручную прописывал от каких ников они будут обрабатываться.
2. Яваскрипт может быть отключен. Но в таком случае у них и чат работать не будет. Вобщем в данном случае это не минус, так как движок сложный, соответственно без js обойтись трудно. К тому же это переносит часть нагрузки с сервера клиентам.

Отредактировано chat-for-all - 31.08.2006
20090
Dimitry @Dimitry
Да, сегодня в пути часа 2 думал 😀 Так и не решил как лучше 😒
1. 2е сохранение (увеличение места на 80%)
2. яваскрипт обработка (много нужно прописывать в шаблоне форума - все теги, и смайлы)
3. сохранение только отформатированной версии (тяжело перевести отформ. теги в неотф. + смайлы перевести невозможно)

Так что?? всёже попробовать Яваскрипт обработку и не использовать фильтрацию вообще?

Прошу высказаться также других админов!!

20090
Dimitry @Dimitry
Сделал обработку всех тегов и 20 смайлов на явескрипт!
Работает быстро, плохо что на это ушло 2-3кб которые будут грузиться всегда!
**********

Так что решайте как делать!! Отказаться от фильтрации и использовать яваскрипт?

187
chat-for-all @chat-for-all
Фильтрация нужна обязательно.
А вообще следующие параметры было бы здорово добавить.
1. Тема - писать могут модераторы only. (Уже реализовано в принципе - если тему закрыть, то в неё без открытия могут писать тольо модераторы)
2. Тема - читать (и разумеется писать) могут модераторы only.
3. Форум - создавать темы могут модераторы only. (при этом чтобы ответы в темы созданные модераторами могли писать все - если что модераторы просто будут закрывать темы, даже внутри закрытого форума) .
Пример "форум Новости - тему создать могут только модераторы, а обсуждать и писать ответы внутри тем могут все".
4. Форум - читатать темы (и разумеется писать) могут модераторы only. (Форум закрыт от чтения)
Это сделает лучше защиту от флейма и флуда тем с объявлениями. А также делать закрытые форумы/темы для администрации.
Разумеется я просто пишу список того, что полезно и реально реализовать, если захотите.

---
p.s. Решил сделать фильтрацией теги image, flash и link.
Потом думал, как защитить от вставки произвольного кода.
Код, который я приведу ниже работает нормально, если никто не будет эксплуатировать теги неправильно.
Иначе нарушится даже структура внутри темы. Конечно это всё затрагивает чисто браузер пользователя, но это уже плохо.
Чтобы сохранить html структуру решил попробывать вставлять после сообщения <script></script>, <noscript></noscript> и прочие методы.
Структуру кода (чтобы тема выглядела нормально) даже если кто побалуется - сохранить удалось.
Но, ведь всё равно существует возможность вставки произвольного кода, который будет выполнятся в браузерах посетителей.
А значит сами понимаете... это не безопасно.
По-этому теперь придётся делать на джава-скрипте.

Код удален, так как пока делал > demon уже всё сделал на джаве.

Отредактировано chat-for-all - 31.08.2006
20090
Dimitry @Dimitry
Отображение ссылки я сделаю автоматически! А отображение картинки и флеша допускать вообще нельзя, ведь картинка читает куки пользователя!

Как я понял раз фильтрация нужна, будет двойное сохранение 😒 /

187
chat-for-all @chat-for-all
Если картинка в другом домене, то куки не отправится при запросе.
А если в родном домене, то надо не допустить чтобы кто-нибудь залил туда свой скрипт. 😀
Вот сейчас когда всем чатам свои субдомены сделали стало проще... Хотя в принципе помимо домена ещё path в куки указывается.
Основная проблема - не дать пользователям вставить любой свой код в страничку.


-------
Добавлено: И всё таки если кому нужны мои несложные замены - внутри архива плейн текст txt-файл
**********

Отредактировано chat-for-all - 31.08.2006
20090
Dimitry @Dimitry
Ну да.. но всёравно зачем заставлять просматривать флеш и картинки!!
кому надо тот нажмёт на ссылку!!

140
Microsoft @Microsoft
А будет функция аватарак?

187
chat-for-all @chat-for-all
Да кстати - сейчас при обращении к теме открывается первая страница темы, а хорошо бы чтобы открывалась последняя, так как пользователи иногда даже не замечают что есть ещё и вторая и третья.. итд
Ну или по-крайней мере сделать ссылку - открыть последнюю страницу. Так на многих форумах сделано.
Вот тут, на live-co.com в punbb в списке тем, справа от темы есть список доступных страниц.

Отредактировано chat-for-all - 01.09.2006
20090
Dimitry @Dimitry
да, согласен.. просто надо поделить кол-во сообщений в теме на 10 и вывести ссылки 😀

295
Орест @Invisible
Как вобше поставить етот форум в чат?)ВОт я зашол в админке Форум(betta) ну и заполнил модераторов,название и описание...потом в чате вставил вот ету сылку ********** а что дальше надо зделать тчобы форум заработал??и когда я в чате нажымаю на етот форум там тока пишет Загруженно за: 0.009.........

11667
187
chat-for-all @chat-for-all
Invisible пишет:

Как вобше поставить етот форум в чат?)ВОт я зашол в админке Форум(betta) ну и заполнил модераторов,название и описание...потом в чате вставил вот ету сылку ********** а что дальше надо зделать тчобы форум заработал??и когда я в чате нажымаю на етот форум там тока пишет Загруженно за: 0.009.........

У тебя он не работает по той причине - что forum.inc пустой и нечему обрабатываться, нажми "восстановить стандартный" в Шаблоны>форум и всё должно заработать.


------------
А ссылку делать либо через простой href можно, либо можно скрыть заголовок, если сделать href с джаваскрипт функцией window.open(), ну например вот так-
<a href="#" onclick="window.open('./index.php?inc=forum','Название окошка','scrollbars=no');">Текст ссылки</a>

Отредактировано chat-for-all - 02.09.2006
295
Орест @Invisible
Латвиец,chat-for-all -проще он написал,но из за то спасибо!
chat-for-all,Спасибо!работает...

20090
Dimitry @Dimitry
Добавляем ссылки на страницы темы в списке тем!

Во второй части вот эти две строки, если что смотрим оригинал 😀

t_links=""; if(f_t[i][6]>9) for(k=0;k<Math.floor(f_t[i][6]/10)+1;k++) t_links+=" <a href=?inc=forum&forum="+forum+"&topic="+f_t[i][0]+"&site="+k+">"+(k+1)+"</a> ";if(t_links) t_links=" - ["+t_links+"]";
topics[i]="<tr><td width=20><div class="+icon+"></div></td><td><a href=?inc=forum&forum="+forum+"&topic="+f_t[i][0]+">"+f_t[i][1]+"</a> "+t_links+"<br>"+f_t[i][3]+mod+"</td><td>"+f_t[i][2]+"</td><td align=center>"+f_t[i][6]+"</td><td>"+f_t[i][4]+"<br>"+f_t[i][5]+"</td></tr>";

140
Microsoft @Microsoft
Дим,я поставил тока непонял что этот скрипт дает.....может я его нетуда поставил?

187
chat-for-all @chat-for-all
Microsoft пишет:

Дим,я поставил тока непонял что этот скрипт дает.....может я его нетуда поставил?

Тебе будет проще так:
Во второй части шаблона форума ищи topics[i] вместе со скобками
и вот всё это:
}
topics[i]="<tr><td width=20><div class="+icon+"></div></td><td><a href=?inc=forum&forum="+forum+"&topic="+f_t[i][0]+">"+f_t[i][1]+"</a><br>"+f_t[i][3]+mod+"</td><td>"+f_t[i][2]+"</td><td align=center>"+f_t[i][6]+"</td><td>"+f_t[i][4]+"<br>"+f_t[i][5]+"</td></tr>";
all_topics+=topics[i];
}

целиком заменяешь на
}
t_links=""; if(f_t[i][6]>9) for(k=0;k<Math.floor(f_t[i][6]/10)+1;k++) t_links+=" <a href=?inc=forum&forum="+forum+"&topic="+f_t[i][0]+"&site="+k+">"+(k+1)+"</a> ";if(t_links) t_links=" - ["+t_links+"]";
topics[i]="<tr><td width=20><div class="+icon+"></div></td><td><a href=?inc=forum&forum="+forum+"&topic="+f_t[i][0]+">"+f_t[i][1]+"</a>"+t_links+"<br>"+f_t[i][3]+mod+"</td><td>"+f_t[i][2]+"</td><td align=center>"+f_t[i][6]+"</td><td>"+f_t[i][4]+"<br>"+f_t[i][5]+"</td></tr>";
all_topics+=topics[i];
}

Целиком.

Отредактировано chat-for-all - 06.09.2006
426
XAM @XAM
а регистрация для пользователей через чат только?

20090
Dimitry @Dimitry
Ну а зачем использовать разные базы пользователей?

852
Роджер @Роджер
А можно сделать так чтобы из другого форума (Mybb) переместить темы в форум чата?А то там стока тем...