ET-Chat v3.x.x - Ваше мнение?

EvgeniT

Новичок
Автор оригинала: grigori
не нравится:

1. отсутствие темплейтов
Чат интересен для интеграции в бОльшие проекты, без темплейтов и думать нчего об этом

2. поток соединений создает дополнительную относительно большую нагрузку
затраты на установку соединения намного выше затрат на передачу данных,
пользователи получают сообщения с задержкой, сервер получает кучу tcp-портов, занятых timeout-ом

3. лицензия - есть немало бесплатных чатов уровня вашего

4. юность Вашего восприятия, ожидание обязательной похвалы (но это пройдет)

5. Если каждый "старожил/team" выложит список, где используется то, что он(а) написал(а), вы этот список месяц а два читать будете.
1) Я уже писал почему нет темплейтов. Почти вся верстка происxодит через JS и многие элементы интерактивные и соответственно имеют обязательные ID's. Смысл делать два темплейта в которыx почти все элементы обязательны я не вижу.
2) Это факт. Я пробовал изменить это и открывать постоянный коннект, до получения данныx, а потом его открывать заново. Однако это не приносит никакой пользы при большом количетве посетителей, так как сообщения приxодят ежесекундно и соответственно происxодит постоянное открытие и закрытие соеденения. Т.е. такой способ может xорошо функционировать в web instant messengers типа meebo, однако не приносит выгоды в массовом чате.
3) Это я уже понял.
4) Я ожидаю конструктивной критики. Выражения типа "сам издат поделка" меня и в правду раздражают.
5) Оxотно почитаю.

-~{}~ 19.12.08 18:02:

Автор оригинала: HraKK
Код УГ. Достаточно?

Ну моими ничем никто не пользуеться)))
Что такое УГ?
 

EvgeniT

Новичок
Автор оригинала: HraKK
Унылое говно.
Уважамые модераторы, вы считаете подобный стиль общения уместным и подобную "критику" допустимой? Если да, то прошу закрыть или стереть всю эту тему!
 

AmdY

Пью пиво
Команда форума
поддерживаю, унылое гуано, которое можно написать в течении часа, есть куча бесплатных аналогов.
из багов - всплывающее окно, попробуй его потаскать и смотрится оно ущербно. больше особого смысла смотреть не увидел.
 

EvgeniT

Новичок
Автор оригинала: AmdY
поддерживаю, унылое гуано, которое можно написать в течении часа, есть куча бесплатных аналогов.
из багов - всплывающее окно, попробуй его потаскать и смотрится оно ущербно. больше особого смысла смотреть не увидел.
Какое окто конкретно? На каком браузере. У меня все окна передвигаются нормально.
 

pilot911

Новичок
советую пиарить чат, сделать сайтик для него и тп

покупатели найдутся, 100%
 

HraKK

Мудак
Команда форума
В чем?
Честно открываю первый попашийся файл - update_user
PHP:
$res_dop = $db->sql("select count(etchat_user_id) FROM {$prefix}etchat_user where etchat_username = '".htmlentities($_POST['user'], ENT_QUOTES, "UTF-8")."' and etchat_userprivilegien <> 'gast' and etchat_user_id<>".(int)$_POST['id'],false);
SQL injection

PHP:
if ($res[0][0]==0){
гениально

Идем дальше reloaduseronline
PHP:
// das gleiche?
for ($a=0; $a < count($feld); $a++){
	$rel .= $feld[$a][1].$feld[$a][2].$feld[$a][3].$feld[$a][5].$feld[$a][8];
}
Но комментс.
PHP:
echo"{
\"user\": \"".addslashes($feld[$a][0])."\",
\"user_id\": \"".$feld[$a][3]."\",
\"user_priv\": \"".$feld[$a][5]."\",
\"user_sex\": \"".$feld[$a][7]."\",
\"user_simg\": \"".$feld[$a][8]."\",
\"user_stext\": \"".$feld[$a][9]."\",
\"room_id\": \"".$feld[$a][2]."\",
\"room_allowed\": \"".$room_allowed."\",
\"room\": \"".addslashes($feld[$a][1])."\"";

И конечно переменные и комменты на немецком конечно усилят продвижение на русском рынке.
 

Фанат

oncle terrible
Команда форума
в том, вот так и надо было написать с самого начала.
давно на форуме была идея сделать раздел с поркой.
хорошая идея. но порка должна быть предметной.

-~{}~ 20.12.08 15:41:

лично я, кстати, не умею делать инъекции после htmlentities.
но это не отменяет глупости автора в этом месте, разумеется

а в остальном особого криминала не вижу
 

fixxxer

К.О.
Партнер клуба
ну, последнее это тоже до свидания. ибо [m]json_encode[/m]. даже если предположить php4, то addslashes тут некорректен (как минимум addcslashes со списком по пред. ссылке).
 

EvgeniT

Новичок
Автор оригинала: HraKK
В чем?
Честно открываю первый попашийся файл - update_user
PHP:
$res_dop = $db->sql("select count(etchat_user_id) FROM {$prefix}etchat_user where etchat_username = '".htmlentities($_POST['user'], ENT_QUOTES, "UTF-8")."' and etchat_userprivilegien <> 'gast' and etchat_user_id<>".(int)$_POST['id'],false);
SQL injection

PHP:
if ($res[0][0]==0){
гениально

Идем дальше reloaduseronline
PHP:
// das gleiche?
for ($a=0; $a < count($feld); $a++){
	$rel .= $feld[$a][1].$feld[$a][2].$feld[$a][3].$feld[$a][5].$feld[$a][8];
}
Но комментс.
PHP:
echo"{
\"user\": \"".addslashes($feld[$a][0])."\",
\"user_id\": \"".$feld[$a][3]."\",
\"user_priv\": \"".$feld[$a][5]."\",
\"user_sex\": \"".$feld[$a][7]."\",
\"user_simg\": \"".$feld[$a][8]."\",
\"user_stext\": \"".$feld[$a][9]."\",
\"room_id\": \"".$feld[$a][2]."\",
\"room_allowed\": \"".$room_allowed."\",
\"room\": \"".addslashes($feld[$a][1])."\"";

И конечно переменные и комменты на немецком конечно усилят продвижение на русском рынке.
SQL Injection? Ну так давай проведи... оxотно посмотрю. ;)

А что конкретно не устраивает в остальном? Что же там не правильно?

-~{}~ 20.12.08 19:28:

Автор оригинала: *****


лично я, кстати, не умею делать инъекции после htmlentities.
но это не отменяет глупости автора в этом месте, разумеется

а в остальном особого криминала не вижу
А в чем конкретно глупость? Подскажите, и я исправлю. :) И буду очень вам благодарен! :D
 

Фанат

oncle terrible
Команда форума
Женя. Наличие в твой адрес голословной критики не означает автоматически, что у тебя все прекрасно.
Лично я бы из-за кода $db->sql(...htmlentities()...) сгорел со стыда.
рекомендую сделать по-человечески работу с бд.
Плюс, если здесь нет спецов по инъекциям - это не значит, что инъекции тоже нет.
 

fixxxer

К.О.
Партнер клуба
2All: с человеком, который считает это нормальным кодом, бесполезно спорить, ему поможет только время и опыт.

2 EvgeniT, ты бы лучше подумал кому это и как продать, а это не на этом форуме :) битриксы вон с неткатами прекрасно продаются, а там код еще повеселее твоего будет.

P.S. В случае именно с UTF-8, инъекции, пожалуй, действительно нет. Но сам подход, основанный на таких частных совпадениях, порочен.
 

EvgeniT

Новичок
Автор оригинала: fixxxer
ну, последнее это тоже до свидания. ибо [m]json_encode[/m]. даже если предположить php4, то addslashes тут некорректен (как минимум addcslashes со списком по пред. ссылке).
Чат программировался для широкой публики (php4) и поэтому для JSON я не использовал json_encode, а для XMLа использую экстра Класс.

А почему addslashes тут некорректен? Ведь я тут только форматирую стринги в JSON, а для этого помоему addslashes вполне достаточен.
 

fixxxer

К.О.
Партнер клуба
во первых, addslashes предназначен не для этого
во вторых, он зависит от настроек (правда редко ;)
в третьих, человеческие реализации json_encode на pure php есть в pear. сравни.
 

EvgeniT

Новичок
Автор оригинала: *****
Женя. Наличие в твой адрес голословной критики не означает автоматически, что у тебя все прекрасно.
Лично я бы из-за кода $db->sql(...htmlentities()...) сгорел со стыда.
рекомендую сделать по-человечески работу с бд.
Плюс, если здесь нет спецов по инъекциям - это не значит, что инъекции тоже нет.
Ребята... я же прошу вас обьяснить... почему $db->sql(...htmlentities()...) это плоxо? Я знаю что у меня код далеко не самый "гениальный", однако подскажите если у вас опыта больше. Или в подсказке проблeма?

-~{}~ 20.12.08 19:37:

Автор оригинала: fixxxer
во первых, addslashes предназначен не для этого
во вторых, он зависит от настроек (правда редко ;)
в третьих, человеческие реализации json_encode на pure php есть в pear. сравни.
Опять-же PEAR инсталлирован далеко не у всеx. У меня покачто с мануальным форматированием ЙСОНа и использованием для этого addslashes проблем небыло. Вопрос тогда для чего преднозначен addslashes?
 

fixxxer

К.О.
Партнер клуба
addslashes это артефакт от magic_quotes.

для всех субд есть специализированные функции, в частности про mysql все расписано на phpfaq.ru.

чтобы понять проблемность такого подхода, давай представим, что понадобилось использовать не UTF-8, а UCS-2.

а из PEAR можно просто взять код :)
 

Фанат

oncle terrible
Команда форума
я же прошу вас обьяснить... почему $db->sql(...htmlentities()...) это плоxо?
ну сам подумай.
тебе не кажется, что понятия SQL и HTML немного разные? и функция от одного врядли подходит для другого?
 
Сверху