Объединенный Открытый Проект - Сайт для Настоящих Компьютерщиков

Объединенный Открытый Проект

Сайт для Настоящих Компьютерщиков

; Логин:
  Пароль:
Обычный
Безопасный
Запомнить пользователя



Зарегистрироваться
Забыли пароль?
 
 
 
Объединенный Открытый Проект »   Русский IkonBoard »   Хаки для Ikonboard »   КАРМА-хак
RSS

КАРМА-хак

Рейтингование участников модераторами

Текущий рейтинг темы: Нет

<<Назад  Вперед>>Страницы: 1 * 2
Модератор: Gram
Печать
 
Igor
Долгожитель форума

Igor
Откуда: Раменское
Всего сообщений: 311
Рейтинг пользователя: 1





Дата регистрации на форуме:
8 апр. 2003
Может кто подскажет где таки ошиПка закралассь :(
Уж ООчень хотца этот хак поставить.

---
FYI  AKA  Shatun
Igor
Долгожитель форума

Igor
Откуда: Раменское
Всего сообщений: 311
Рейтинг пользователя: 1





Дата регистрации на форуме:
8 апр. 2003
вот сейчас вроде в форум модераторо можно войти..
строка - 1258 в файлике - ikon.lib
в процедуре - sub getforum
$privateforum
заменил на
$privateforums
Используя ХАК от XXXXPro (скрытые форумы) вроде можно пользоваться, НО если явно указать линк форума то в этом случае гость без проблемм может просмотреть как форум так и темы модераторов. :(

мне ещё не совсем понятно
$privateforum
изпользуется скриптами ikonboard.cgi, topic.cgi, post.cgi, postings.cgi, setforums.cgi, а также процедурой getforum в ikon.lib, модифицируется скриптами post.cgi, posting.cgi и setforums.cgi.
а вот в описании написано....
Файл $membername.cgi
Считывание файла производится с помощью процедуры getmember (файл ikon.lib), которая вызывается почти из всех скриптов.
$privateforums - список закрытых форумов, к которым пользователь имеет доступ. Хранится в формате $forum=$access&$forum=$access, где $forum - номер закрытого форума, $access - разрешение на доступ (принимает значения "yes" или "no");

какой переменной пользоваться и как таки решить эту проблемму?

Вот ещё неприятность, когда жмёшь на линк - Рейтинговать (usrating.cgi) вверху страницы - появляется Content-Type: text/html; charset=windows-1251
[B]JESUS[/B] у тебя есть такой баг??


---
FYI  AKA  Shatun
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
$privateforums - это переменная, где перечисленно, к каким форумам пользователь имеет доступ
$privateforum - переменная, которая определяет статус форум. Поэтому такую замену делать в принципе делать было нельзя!

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

Igor
Откуда: Раменское
Всего сообщений: 311
Рейтинг пользователя: 1





Дата регистрации на форуме:
8 апр. 2003
[q]
Поэтому такую замену делать в принципе делать было нельзя!
[/q]
спасибо теперь понятно..
только вот как решить эту проблему не понятно.
JESUS напиши 2- или 3-и буквы плиззз
После установки этого ХАКА
Модер и админ не могут войти в форум модераторов????

---
FYI  AKA  Shatun
JESUS
Новичок

JESUS
Откуда: Минск
Всего сообщений: 249
Рейтинг пользователя: 0





Дата регистрации на форуме:
10 сен. 2003
[B]Igor [/B]
сорри... у мя тут куча разных серьезных траблов навалилась... так что пока молчу.... некогда.... не до этого... :(

JESUS
Новичок

JESUS
Откуда: Минск
Всего сообщений: 249
Рейтинг пользователя: 0





Дата регистрации на форуме:
10 сен. 2003
[B]Igor [/B]
у меня все нормально с вхождением в закрытые форумы...
хотя про то, что народ может войти в форум для администрации, но не в темы, - правда...
в другой закрытый форум не могут....
странно...

Igor
Долгожитель форума

Igor
Откуда: Раменское
Всего сообщений: 311
Рейтинг пользователя: 1





Дата регистрации на форуме:
8 апр. 2003
JESUS, так у меня даже в темы администрации ни модер ни админ войти не могут :(
я так понимаю баг скрылся в ikon.lib или в topic.cgi
XXXXPro подскажи какой код делает проверку для входа в закрытые форумы.

---
FYI  AKA  Shatun
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
В файле forums.cgi за проверку входа отвечает вот этот код: <br>    if (("$privateforum" eq "yes") && ("$allowed" ne "yes"))  { &accessneeded; }<br>    if (($inmembername eq "Guest") && ($privateforum eq "noguest")) {&error("входе в форум&Гостям доступ на этот форум запрещен. Войдите под своим именем или зарегистрируйтесь."); } <br>
И еще вот этот кусок кода:
<br>if ($action eq "accessrequired") {<br>    $inmembername  = $query -> param('membername');<br>    $inpassword    = $query -> param('password');<br>    &getmember("$inmembername");<br>    if ($userregistered ne "no" && $allowedentry{$inforum} eq "yes" && $inpassword eq $password) {<br>        $allowcookiename = "forumsallowed" . "$inforum";<br>        print "Set-Cookie: $allowcookiename=yes\;";<br>        print "\n";<br>        $allowed = "yes";<br>        }<br>        else {<br>            $allowed = "no";<br>            }<br>        }<br>        else {<br>            $tempaccess = "forumsallowed". "$inforum";<br>            $testentry = cookie("$tempaccess");<br>            if ($testentry eq "yes") { $allowed = "yes"; }<br>            else { $allowed = "no"; }<br>            }<br>


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

Igor
Откуда: Раменское
Всего сообщений: 311
Рейтинг пользователя: 1





Дата регистрации на форуме:
8 апр. 2003
УУУУРРРАААА!! Нашёёёл!!
Если долго мучаться, чтонибудь получится :)
Убираем in пометил красным. И ВСЁ!
if (!$inmembername) { <br>   $inmembername = "Guest"; <br>   } <br>   else { <br>       &getmember("$inmembername"); <br>       if ($allowedentry{$[COLOR=red]in[/COLOR]forum} eq "yes") { $allowed = "yes"; } <br>           else { $allowed  = "no"; } <br>       &getmemberstime("$inmembername"); <br>       &getlastvisit; <br>       $forumlastvisit = $lastvisitinfo{$[COLOR=red]in[/COLOR]forum}; <br>       $currenttime = time; <br>       &setlastvisit("$[COLOR=red]in[/COLOR]forum,$currenttime"); <br>}
Теперь всё точно работает. Можно ставить Хак и не париться ;)
Работу форума оттестировал на локалке..
Вот только строка Content-Type: text/html; charset=windows-1251 вверху форума вылетает.. :(
- если точнее.. в самом - usrating.cgi
это наверно в коде, где что-то за кодировку отвечает (в самом - usrating.cgi)
С одной стороны и так всё прекрасно работает.. но не симпотно когда этот баг вверху моячит :(
Может кто подскажет где сабака порылась :)
-------------------
PS XXXXPro, как я тебя понимаю! Это ведь сума можно сойти пока всех блох выловишь.

---
FYI  AKA  Shatun
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
Если такое выводится, значит, где-то стоит лишний print header (скорее всего, один - в начале файла, а второй - в процедуре output файла ikon.lib).

P.S. Вот поэтому я и решил писать новый форум.


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

JESUS
Откуда: Минск
Всего сообщений: 249
Рейтинг пользователя: 0





Дата регистрации на форуме:
10 сен. 2003
[B]Igor [/B]
Разобрался с Content-Type: text/html; charset=windows-1251 ???
Если нет, то сообщаю, что нужно сделать для того, чтобы она не появлась....


В самом мначале скрипта меняешь код
<br>use CGI::Carp "fatalsToBrowser"; <br>use CGI qw(:standard); <p>eval { <br>
на следующий...
<br>use CGI::Carp "fatalsToBrowser";<br>use CGI qw(:standard);<br>$CGI::POST_MAX=1024 * 150;<br>$CGI::DISABLE_UPLOADS = 1;<br>$CGI::HEADERS_ONCE = 1;<p>eval {<br>


короче... вот эта херотень$CGI::HEADERS_ONCE = 1;
отвечает, чтобы head (в т.ч. и кодировка) по несколько раз по какой-то кривоте рук не вставлялась......


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


4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
Если карма хранится в $membername.cgi, то вполне может и обнуляться - код сохранения профиля в каждом файле остается свой (как всегда, это - наследственный баг).

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

Igor
Откуда: Раменское
Всего сообщений: 311
Рейтинг пользователя: 1





Дата регистрации на форуме:
8 апр. 2003
JESUS В topic.cgi у меня стоит вот этот код:
$jmembername = $membername; <br>if ($membercode eq "ad") { <br>$posterfontcolor = "$adminnamecolor"; <br>$membername = "$membername";<br>$team="<img src=\"$imagesurl/images/team.gif\" border=0>"; <br>$rating = qq~<img src="$imagesurl/karma/icon6.gif">~; <br>if ($membertitle eq "") { $membertitle = "Администратор"; } <br>} <br>elsif ($membercode eq "mo") { <br>$posterfontcolor = "$teamnamecolor"; <br>$membername = "$membername";<br>$team="<img src=\"$imagesurl/images/team.gif\" border=0>"; <br>$rating = qq~<img src="$imagesurl/karma/icon6.gif">~; <br>if ($membertitle eq "") { $membertitle = "Модератор"; } <br>} <br>elsif ($membercode eq "banned") { <br>$rating = qq~<img src="$imagesurl/karma/icon-6.gif">~; <br>$posterfontcolor = "$posternamecolor"; <br>$membergraphic = ""; <br>$membertitle = "ИЗГНАН"; <br>} <br>else { <br>$posterfontcolor = "$posternamecolor"; <br>if ($rating eq -5) { $rating = qq~<img src="$imagesurl/karma/icon-5.gif"> -5~; } <br>elsif ($rating eq -4) { $rating = qq~<img src="$imagesurl/karma/icon-4.gif"> -4~; } <br>elsif ($rating eq -3) { $rating = qq~<img src="$imagesurl/karma/icon-3.gif"> -3~; } <br>elsif ($rating eq -2) { $rating = qq~<img src="$imagesurl/karma/icon-2.gif"> -2~; } <br>elsif ($rating eq -1) { $rating = qq~<img src="$imagesurl/karma/icon-1.gif"> -1~; } <br>elsif ($rating eq 0) { $rating = qq~<img src="$imagesurl/karma/icon0.gif"> 0~; } <br>elsif ($rating eq 1) { $rating = qq~<img src="$imagesurl/karma/icon1.gif"> 1~; } <br>elsif ($rating eq 2) { $rating = qq~<img src="$imagesurl/karma/icon2.gif"> 2~; } <br>elsif ($rating eq 3) { $rating = qq~<img src="$imagesurl/karma/icon3.gif"> 3~; } <br>elsif ($rating eq 4) { $rating = qq~<img src="$imagesurl/karma/icon4.gif"> 4~; } <br>elsif ($rating eq 5) { $rating = qq~<img src="$imagesurl/karma/icon5.gif"> 5~; } <br>} <br>if ($inmembercode eq "ad") { $rateuser = qq~<a href="$boardurl/usrating.cgi?membername=$jmembername">Рейтинговать</a>~; } <br>elsif ($inmembercode eq "mo") { $rateuser = qq~<a href="$boardurl/usrating.cgi?membername=$jmembername">Рейтинговать</a>~; }<br>
вместо того который предложено поставить.
переменная - $team пропущена :(
Я правда не знаю нафиг она нужна, но без неё у меня были ошибки..
Есть конечно вопрос, почему рейтинг - 0
у старых участников не показывается??
offtop
у меня в 98SE с локалкой опять траблы проверить не могу..
:((((

---
FYI  AKA  Shatun
JESUS
Новичок

JESUS
Откуда: Минск
Всего сообщений: 249
Рейтинг пользователя: 0





Дата регистрации на форуме:
10 сен. 2003
$team
выводит картинку рядом с ником модеров и админов...
глюк с обнулением я решил.... там дело именно в переменных, а не в профиле...

Igor
Долгожитель форума

Igor
Откуда: Раменское
Всего сообщений: 311
Рейтинг пользователя: 1





Дата регистрации на форуме:
8 апр. 2003
JESUS, извиняй, забыл тебе пасиб сказать ;)

посмотрел.. $team действительно админскую картинку выводит
офф уже локалкалку поставил, тоже обнуляется


---
FYI  AKA  Shatun
JESUS
Новичок

JESUS
Откуда: Минск
Всего сообщений: 249
Рейтинг пользователя: 0





Дата регистрации на форуме:
10 сен. 2003
[B]Igor[/B]
ок... выложу фикс - только его написать нужно... я методом проб и ошибок нашел ;)
первый автор там с переменными намутил сильно...

Igor
Долгожитель форума

Igor
Откуда: Раменское
Всего сообщений: 311
Рейтинг пользователя: 1





Дата регистрации на форуме:
8 апр. 2003
[B]JESUS[/B] спасибо, ждём..

---
FYI  AKA  Shatun
JESUS
Новичок

JESUS
Откуда: Минск
Всего сообщений: 249
Рейтинг пользователя: 0





Дата регистрации на форуме:
10 сен. 2003
[q]
Есть конечно вопрос, почему рейтинг - 0
у старых участников не показывается??
[/q]

[B]Igor[/B]
у старых он не будет показываться...пока они профиль не поменяют... или ты не поменяешь...
только пока не советую - обнулится все просто :)
там напутано с переменными $inrating и $rating...
поэтому и обнуляется в некоторых файлах....

JESUS
Новичок

JESUS
Откуда: Минск
Всего сообщений: 249
Рейтинг пользователя: 0





Дата регистрации на форуме:
10 сен. 2003
тэкс, значицца, что вспомнил....

В сетмемберс.цги

if ($inrating eq "") { $inrating = 0; } <br>elsif ($inrating > 5) { $inrating = 5; } <br>elsif ($inrating < -5) { $inrating = -5; $inmembercode = "banned"; }

заменить на
if ($rating eq "") { $rating = 0; } <br>elsif ($rating > 5) { $rating = 5; } <br>elsif ($rating < -5) { $rating = -5; $inmembercode = "banned"; } <br>

и если стоит хак пересчета сообщений у юзверей, то в процедуре sub countmsg (последняя в файле)
проверить чтобы был код
|$rating|
а не |$inrating|

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

В процедуре sub savemodify (она отвечает за сохранение изменений профиля, сделаных самим юзверем) добавить перед:if ($newsignature) {
кодif ($rating = "") {<br>$rating = 0;<br>}
- это даст возможность при любом изменении профиля пользователем сделать ему нолик в рейтинг (если там пусто)...

ну и естественно проверить, чтобы строчка там была такая
..................|$rating|$misc1|$misc2|$misc3|

если чего еще вспомню - напишу позже....

-----------------------
зы.... вообще хочу перелопатить все файлы и составить развернутый список, где изменяется профиль пользователя, чтобы при установке хаков, задевающих профиль не надо было искать на своих ошибках и глюках...
я уже задел этот вопрос здесь -
http://xxxxpro.ru/cgi-bin/ikonboard/topic.cgi?forum=10&topic=191

может есть резон подумать, как выделить всю эту строчку (которая в файл мембернэйм.цги пишется в переменную, например в икон.либ, а потом просто вызывать ее? или это невозможно принципиально?

(Сообщение отредактировал JESUS 22 дек. 2003 13:25)


BlackWolf
Новичок


Откуда: Петрозаводск
Всего сообщений: 32
Рейтинг пользователя: 0





Дата регистрации на форуме:
19 июня 2003
ТОлько ногам не бить :)

Может кто выложит окончтальный вариант что и где менять...а то отслеживать всю тему..где какие ошибки вылезают :))) тяжко... И еще а можно сделать так что бы все могли карму менять сами только не свою, а чужую.. ???


---
Иих сила в варварских законах ...их знамя шкуры серой блеск..их воля в древних темных кронах....из мрака созидавших лес
<<Назад  Вперед>>Страницы: 1 * 2
Модератор: Gram
Печать
Объединенный Открытый Проект »   Русский IkonBoard »   Хаки для Ikonboard »   КАРМА-хак
RSS
Быстрый переход в раздел:


Время выполнения скрипта: 0.1081. Количество выполненных запросов: 18, время выполнения запросов 0.0367