lynx
Advanced lynx | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Значит так. Xnom Цитата: подожди, а если разлогиниться и под гостем попробовать зайти по прямой ссылке? На дефолтном форуме так не получается Следовательно, проверка на доступ идёт... | Не знаю, что там идет, я спокойно под гостем зашла по прямой линке в служебный и никакой авторизации там не идет, смотри: forums.cgi Код: if ($action eq "accessrequired") { $inmembername = $query -> param('membername'); $inpassword = $query -> param('password'); &getmember("$inmembername"); if ($userregistered ne "no" && $allowedentry{$inforum} eq "yes" && $inpassword eq $password) { $allowcookiename = "forumsallowed" . "$inforum"; print "Set-Cookie: $allowcookiename=yes\;"; print "\n"; $allowed = "yes"; } else { $allowed = "no"; } } else { $tempaccess = "forumsallowed". "$inforum"; $testentry = cookie("$tempaccess"); if ($testentry eq "yes") { $allowed = "yes"; } else { $allowed = "no"; } } | А этот акшин устанавливается в ikon.lib, тут: Код: sub accessneeded { $output .= qq~ <form action="$forumsprog" method=POST> <input type=hidden name="forum" value="$inforum"> <input type=hidden name="action" value="accessrequired"> <table cellpadding=0 cellspacing=0 border=0 width=$tablewidth bgcolor=$tablebordercolor align=center> <tr> <td> <table cellpadding=3 cellspacing=1 border=0 width="100%"> <tr> <td bgcolor=$miscbacktwo valign=middle colspan="2"><div class="anonce" colspan="2">Введите Ваши данные для входа в приватный форум</div></td> </tr> <tr> <td bgcolor=$miscbackone valign=middle colspan="2"><div class="menu8"> <br>Пройти авторизацию для входа в закрытый форум потребуется только один раз за сессию браузера.<br>  </div></td> | Итого, если я убираю вызов этой подпрограммы в forums.cgi, то не идет вообще проверки на приватность форума. А если сделать: Код: if (("$privateforum" eq "yes") && ("$allowed" ne "yes")) { &error("Вход в приватную тему&доступ запрещен"); } | То не идет проверка на allow и никому не дает войти, потому что см. выше проверка тоже идет только если акшин accessrequired. Вот что придумать? |