One20 » 2007.12.09 08:56

Привет админ! Мог бы посмотреть вот етот скрипт сервиса чатов http://wap.one.h2m.ru/down/Skripty/Servisy/Schat_2.0.zip и исправить ошыбки те которые я говорил в гостевой!

Gemor » 2007.12.09 11:15

Глянул на архив, по файлам Thumbs.db и desktop.ini можно догадаться что чатом занимались не очень опытные люди =)
Пойду дальше смотреть

Серый » 2007.12.09 14:08

Gemorroj, а как сделать, чтобы стили менялись,как у тебя? Я сделал стили и форму выбора, но с неё перекидывает на главную. И всё остаётся без изменений.

Admin » 2007.12.09 16:14

http://wapinet.ru/forum/uploads.php?file=schat.zip переписал кое что из сервиса чатов. ну сразу видно что писали кривыми руками. на счет отсутствия дыр я бы умолчал.

Gemorroj » 2007.12.09 18:34

тест

Добавлено спустя   1 минуту  36 секунд:

Серый написал:

Gemorroj, а как сделать, чтобы стили менялись,как у тебя? Я сделал стили и форму выбора, но с неё перекидывает на главную. И всё остаётся без изменений.

Лично у меня сделано через cookie судя по статистик моего же каталога, практически все телефоны поддерживают cookie. Я думаю если телефон не понимает cookie, то он и стили не поймет, так что вот.

One20 » 2007.12.09 19:27

Gemorroj
Спасиба,транслит теперь в норме,а добавления смайлов дальше не робит! Што мне прописать и где штобы он заработал?

Gemorroj » 2007.12.09 20:46

Я смайлы и не смотрел даже, ща гляну. Там на самом деле много недоработок было (думаю и еще остались, все посмотреть я не могу)

Admin » 2007.12.09 21:04

перезалил по той же ссылке исправленный

Добавлено спустя   1 минуту  59 секунд:
Серый, тут временно проблемы с сервером, большие сообщения не передаются, ответить нормально не могу =) позже

One20 » 2007.12.10 17:43

Gemorroj
А какой ты файл редактировал штобы работалы смайлы? Для чего ты очистил файл parol.dat ,у меня через ето не работала игра весилица и я вернул той файл который был в моем архиве и игрушка заработала!

Admin » 2007.12.10 23:32

Серый написал:

Gemorroj, а как сделать, чтобы стили менялись,как у тебя? Я сделал стили и форму выбора, но с неё перекидывает на главную. И всё остаётся без изменений.

Лично у меня сделано через cookie судя по статистик моего же каталога, практически все телефоны поддерживают cookie. Я думаю если телефон не понимает cookie, то он и стили не поймет, так что вот.

код примерно такой

Код:

1
2
3
4
5
6
7
8
9
10
11
12
if(isset($style))
{$style = $style;}
elseif(isset($_GET['style']))
{
$style = intval($_GET['style']);
setcookie('style',$style,time()+2592000,'/');
$style = '/'.$style.'.css';
}
elseif(isset($_COOKIE['style']))
{$style = '/'.intval($_COOKIE['style']).'.css';}
else
{$style = '/1.css';} // стиль по умолчанию

в данном случае стили должны быть вида 1.css 2 .css 3 .css и т.д.

Код:

1
2
if(isset($style))
{$style = $style;}

- это сделано для того чтобы можно было принудительно менять стиль (пишем в начале страницы $style = 'style.css'; и не смотря на выбранный пользователем стль будет отображаться указанный нами)
этот код следует проинклудить во все файлы.
ну а с формой выбора стиля думаю проблем возникнуть не должно.
на всякий случай приведу и ее

Код:

1
2
3
4
5
<select name="style">
<option value="1">первый стиль</option>
<option value="2">второй стиль</option>
<option value="3">третий стиль</option>
</select>
Admin » 2007.12.10 23:35

One20 там просто надо было инклудить файл sm/convert_to_smiles.php а насчет parol.dat видимо ты прав. Я просто подумал по названию файла что там пароли какие-то. Думал просто мусор.

One20 » 2007.12.11 11:08

Admin
В какые ты файлы его всписовал? Я сам раньше пробувал вписовать но ничего не получалось! Я инклудил етот файл в room.php  Дыры исправлял в етом сервисе? А што дает чмод 755 на папки и 666 на файлы?

Admin » 2007.12.11 12:14

ну вот у меня получилось проинклудить в room.php
кое что поправил, но гарантировать ничего не буду. все эти отпрыски бодр чата изначально большая большая дыра.

7 - чтение, запись, выполнение
6 - чтение, запись
5 - чтение, выполнение
4 - чтение
3 - запись, выполнение
2 - запись
1 - выполнение
0 - нет прав

Чмод обычно пишут в виде трех цифр, первая - права для владельца файла, вторая - член группы, третяя - все остальные.
Вот и смотри что значат чмоды.
755 - обычно ставят на папки
644 - на файлы
если в папке требуется создавать, удалять файлы, то на нее права ставят - 777
если же требуется менять содержимое файла (записывать в него данные) права - 666

One20 » 2007.12.11 14:34

Admin
Сложно взломать такой сервис для тебя и как ты думаэш сможет ето сделать неопытный человёк?

Admin » 2007.12.11 15:35

неопытный не взломает. опытный вломает и не такой =)

Серый » 2007.12.11 16:06

Admin, спасибо конечно, но что-то у меня не получается =( Ну и ладно. А раньше у тебя вместо стилей был выбор друзей, а как это было сделано? Я как не пробовал, меня всегда ко мне на главную перекидывает.

Admin » 2007.12.11 16:13

Хм... чето не помню, каких еще друзей?
Опиши лучше что не получается, разберемся.

One20 » 2007.12.12 01:50

Понятно =)

One20 » 2007.12.12 10:46

Admin
Можна как нибуть зделать в етом сервисе чатов штобы был топ зарегистрованых чатов и каждый чат считалса по хостам и хитам???

Admin » 2007.12.12 11:38

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

One20 » 2007.12.12 12:01

Admin Я как понимаю нужно ище и новые строки вписать в index.php ,enter.php ,room.php думаю етого было бы достаточно?!

Добавлено спустя   6 минут  31 секунду:
А как мне ввывести онлайн чата в которого ci=1 на главную страницу моего сайта? Што инклудить файл ini.php и в главной вписать переменые?

Admin » 2007.12.12 12:43

Код:

1
2
include 'inc.php';
$pdc = mysql_fetch_assoc(mysql_query('SELECT COUNT(*) FROM `'.$px.$utable.'` WHERE ltime>'.(time()-(int)$offline).' AND `ci`='$ci));

вот такой код тебе надо
в переменной $pdc['COUNT(*)']; будет кол-во пользователей в онлайне.

чтобы считаь кол-во хостов/хитов думаю достаточно будет дописать файлы enter.php и room.php
могу даже привести примерно что писать надо будет, допустим, ты добавишь в таблицу cusers еще поле hit в котором будут считаться хиты, в таком случае пишем так

Код:

1
mysql_query('UPDATE `'.$px.$utable.'` SET `hit`=`hit`+1 WHERE `ci`='.$ci);
One20 » 2007.12.12 17:01

mysql_query('UPDATE `'.$px.$utable.'` SET `hit`=`hit`+1 WHERE `ci`='.$ci);  Куда именно нужно вставить етот код и как?

Admin » 2007.12.12 19:27

в enter.php просто вставь и все. после if($login){ например. я тут еще посмотрел. дыры есть и очень серезные.

Код:

1
mysql_query("update `".$px.$utable."` set `soft`='".htmlspecialchars(getenv(HTTP_USER_AGENT))."' where `id`='".$id."' and ci= '".$ci."';");

попробуй сам найди здесь уязвимость

One20 » 2007.12.13 02:51

Admin,я не разбераюсь хорошо в етом но думаю што ошыбки здесь
mysql_query("update `".$px.$utable."` set `soft`='".htmlspecialchars(getenv(HTTP_USER_AGENT))."' where `id`='".$id."' and ci= '".$ci."';");

One20 » 2007.12.13 03:04

Не нужно вставлять етот код в ети скобки '".htmlspecial."' ето же не переменая! Я верно мыслю?

Admin » 2007.12.13 06:23

не, не в этом дело. http://wapinet.ru/textbook/sql_injection.htm посмотри здесь
как минимум нужно так

Код:

1
mysql_query('UPDATE `'.$px.$utable.'` SET `soft`=\''.mysql_escape_string(htmlspecialchars(getenv(HTTP_USER_AGENT))).'\' WHERE `id`='.$id.' AND `ci`= '.$ci);

переменные id и ci фильтруются через intval в inc.php

Admin » 2007.12.13 19:34

Опа, извиняюсь. В первый раз на это не указал, потому что смотрел .htaccess а в этом посте впопехах писал. забыл что в .htaccess включены magic_quotes_gps
У самого проблемы с одним, думаю многим известным, хакером =) надеюсь эти проблемы в прошлом гг
Вобщем тупо подстановкой кавычки не сломаешь, так что скрипткиддисы так называемые отпадают.
А в целом, надо все же отключать в .htaccess все "магические кавычки", в php6 например их вообще уберут. так же как и глобальные переменные, и еще регулярные выражения в стиле POSIX (ereg и его друзья). Так что переход на PHP6 обещает стать очень болезненным действом =) Хотя и очень нужным.

One20 » 2007.12.19 00:11

Нашол ошыбки! Когда читаеш личные сообщения то ненаписано от кого отправлено это сообщение! В ссылке (кто где?) в низу страницы не написано сколько человек у прихожей! Сможеш исправить?

Azzido » 2007.12.19 08:52

Я кстати про mаgiс quotes не согласен, ими удобней пользоваться чем mysql_escape_string и addslashes :)

Gemorroj » 2007.12.19 11:05

http://softtime.ru/forum/read.php?id_fo … heme=46864 Azzido, почитай =) Обрати внимание на то, что говорил Trianon. Фильтровать кавычки через директиву в .htaccess в корне не правильно.

Добавлено спустя   1 минуту  13 секунд:
One20, я не хочу тупо править скрипты, давай бажный код, будем разбирать.

Azzido » 2007.12.19 22:09

Ого! А posix то зачем убирать! Это значит половина скриптов станет мусором хехе,больно часто что то php стал обновляться,а я все котеровским php4 пользуюсь хехе

Gemorroj » 2007.12.19 22:57

да, жесть =) я лично пока не готов к PHP6. Как раз из-за регулярных выражений в стиле POSIX.

Azzido » 2007.12.20 17:55

Я тут под magic_quotes оff для интересу переписывал,и возник вопрос с magic_quotes_gpc понятно,добавляет бэкслэши,magic_quotes_sybase,добавляет еще кавычку к одинарной кавычке,а что такое magic_quotes_runtime,не знаешь? Я раньше тупо ставил оn,не задумываясь что она делает. :)

Gemorroj » 2007.12.20 19:30

magic_quotes_runtime boolean

Если magic_quotes_runtime включена, большинство функций, которые возвращают данные из любого внешнего источника, включая базы данных и текстовые файлы, будет иметь кавычки, которые выводятся с наклонной чертой влево. Если magic_quotes_sybase также включены, а одиночные кавычки экранируются с одиночными кавычками вместо наклонной черты влево

Вот что по этому поводу говорится на PHP.SU

Group » 2009.02.03 23:30

Люди добрые подскажите где взять скрипты как отправка icq, смс, и регистрации icq как на этом сайте?

Gemorroj » 2009.02.04 12:45

Тема топика - "Сервис чатов!". При чем здесь твой вопрос?

Group » 2009.02.13 23:08

Извиняюсь, правдо говорю я ошибся. Хотя можете дать такие скрипты?