Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
Безопасность движков, запаролить веб страницу |

17.12.2005, 00:54
|
|
Участник форума
Регистрация: 19.10.2005
Сообщений: 128
Провел на форуме: 584821
Репутация:
83
|
|
Безопасность движков, запаролить веб страницу
Парни, очень нужна помощ, в php я ноль, тема такая, значит для движка php-fusion, хочу установить пароль, (если вдруг угонят хеш, то в админку злоумышленик не попадет) значит редактирую index.php в директории админцентра, в начало индекеса вставлю вот этот код
PHP код:
$LOGIN = "demo";
$PASSWORD = "demo";
function error ($error_message) {
echo $error_message."<BR>";
exit;
}
if ( (!isset($PHP_AUTH_USER)) || ! (($PHP_AUTH_USER == $LOGIN) && ( $PHP_AUTH_PW == "$PASSWORD" )) ) {
header("WWW-Authenticate: Basic entrer=\"Form2txt admin\"");
header("HTTP/1.0 401 Unauthorized");
error("error");
}
?>
ввожу, ничего не происходит, после трех попыток выдает ошибку, подскажите что нужно дописать
Вот сам код индекса
PHP код:
<?php
require_once "../maincore.php";
require_once BASEDIR."subheader.php";
require_once ADMIN."navigation.php";
if (!iADMIN || $userdata['user_rights'] == "") fallback("../index.php");
if (!isset($pagenum) || !isNum($pagenum)) $pagenum = 1;
$admin_images = true;
if ($page1) { $default = 1; }
elseif ($page2) { $default = 2; }
elseif ($page3) { $default = 3; }
elseif ($page4) { $default = 4; }
else { fallback("../index.php"); }
page
$pageon = true;
if ($pagenum == 1 && !$page1) $pageon = false;
if ($pagenum == 2 && !$page2) $pageon = false;
if ($pagenum == 3 && !$page3) $pageon = false;
if ($pagenum == 4 && !$page4) $pageon = false;
if ($pageon == false) redirect("index.php?pagenum=$default");
opentable($locale['200']." - v".$settings['version']);
echo "<table align='center' cellpadding='0' cellspacing='1' width='100%' class='tbl-border'>\n<tr>\n";
if ($page1) {
echo "<td align='center' width='25%' class='".($pagenum == 1 ? "tbl1" : "tbl2")."'><span class='small'>\n";
echo ($pagenum == 1 ? "<b>".$locale['ac01']."</b>" : "<a href='index.php?pagenum=1'>".$locale['ac01']."</a>")."</span></td>\n";
}
if ($page2) {
echo "<td align='center' width='25%' class='".($pagenum == 2 ? "tbl1" : "tbl2")."'><span class='small'>\n";
echo ($pagenum == 2 ? "<b>".$locale['ac02']."</b>" : "<a href='index.php?pagenum=2'>".$locale['ac02']."</a>")."</span></td>\n";
}
if ($page3) {
echo "<td align='center' width='25%' class='".($pagenum == 3 ? "tbl1" : "tbl2")."'><span class='small'>\n";
echo ($pagenum == 3 ? "<b>".$locale['ac03']."</b>" : "<a href='index.php?pagenum=3'>".$locale['ac03']."</a>")."</span></td>\n";
}
if ($page4) {
echo "<td align='center' width='25%' class='".($pagenum == 4 ? "tbl1" : "tbl2")."'><span class='small'>\n";
echo ($pagenum == 4 ? "<b>".$locale['ac04']."</b>" : "<a href='index.php?pagenum=4'>".$locale['ac04']."</a>")."</span></td>\n";
}
echo "</tr>
<tr>
<td colspan='4' class='tbl1'>\n";
$result = dbquery("SELECT * FROM ".$db_prefix."admin WHERE admin_page='$pagenum' ORDER BY admin_title");
$rows = dbrows($result);
if ($rows != 0) {
$counter = 0; $columns = 4;
$align = $admin_images ? "center" : "left";
echo "<table cellpadding='0' cellspacing='0' width='100%'>\n<tr>\n";
while ($data = dbarray($result)) {
if (checkrights($data['admin_rights']) && $data['admin_link'] != "reserved") {
if ($counter != 0 && ($counter % $columns == 0)) echo "</tr>\n<tr>\n";
echo "<td align='$align' width='25%' class='tbl'>";
if ($admin_images) {
echo "<span class='small'><a href='".$data['admin_link']."'><img src='".ADMIN."images/".$data['admin_image']."' alt='".$data['admin_title']."' style='border:0px;'><br>\n".$data['admin_title']."</a></span>";
} else {
echo "<span class='small'><img src='".THEME."images/bullet.gif' alt=''> <a href='".$data['admin_link']."'>".$data['admin_title']."</a></span>";
}
echo "</td>\n";
$counter++;
}
}
echo "</tr>\n</table>\n";
} else {
echo "<center><br>\n".$locale['401']."<br><br>\n</center>\n";
}
echo "</td>\n</tr>\n</table>\n";
closetable();
tablebreak();
opentable($locale['250']);
echo "<table align='center' cellpadding='0' cellspacing='0' width='100%'>\n<tr>\n<td width='33%' class='small'>
".$locale['251']." ".dbcount("(user_id)", "users", "user_status<='1'")."<br>
".$locale['252']." ".dbcount("(user_id)", "users", "user_status='2'")."<br>
".$locale['253']." ".dbcount("(user_id)", "users", "user_status='1'")."<br>
</td>
<td valign='top' width='33%' class='small'>
".$locale['254']." ".dbcount("(submit_id)", "submissions", "submit_type='n'")."<br>
".$locale['255']." ".dbcount("(submit_id)", "submissions", "submit_type='a'")."<br>
".$locale['256']." ".dbcount("(submit_id)", "submissions", "submit_type='l'")."
<td valign='top' width='33%' class='small'>
".$locale['257']." ".dbcount("(comment_id)", "comments")."<br>
".$locale['258']." ".dbcount("(shout_id)", "shoutbox")."<br>
".$locale['259']." ".dbcount("(post_id)", "posts")."
</td>\n</tr>\n</table>\n";
closetable();
echo "</td>\n";
require_once BASEDIR."footer.php";
?>
|
|
|

17.12.2005, 13:10
|
|
OpenVPN.CC
Регистрация: 15.07.2005
Сообщений: 1,599
Провел на форуме: 7670961
Репутация:
1034
|
|
Сделай так
аунтификацию файлом .htaccess такого сожержания
PHP код:
<files имя файла.php>
authname admin_area
authtype basic
authuserfile /абсолютный_путь/.htpasswd
require valid-user
</files>
файл .htpasswd думаю найдёш как создать в нём прописываеться логин и пароль к этой аунтификаций
вот пример логин и пароль admin/admin
PHP код:
admin:$apr1$zI5.....$gTUgpZdlFuRl8aKjGCSlg/
|
|
|

17.12.2005, 14:07
|
|
Super Moderator
Регистрация: 08.11.2004
Сообщений: 3,395
Провел на форуме: 13166814
Репутация:
3876
|
|
может я чего-нить конечно и не понимаю))
но где у тебя в примере сама форма куда должен вводиться логин и пароль?
или за это отвечают переменные $php_auth_user и $php_auth_password?
а что за ошибку выводит?
|
|
|

17.12.2005, 15:02
|
|
Участник форума
Регистрация: 16.09.2004
Сообщений: 193
Провел на форуме: 621131
Репутация:
47
|
|
Вот это в начало index.php вставь:
PHP код:
$login_check="demo";
$pwd_check="demo";
if(!isset($login)&&!isset($pwd))
{
echo "<form method=post>";
echo "<html><head><title></title></head><body>\n";
echo "Ëîãèí: <br>\n";
echo "<input type=text name=login size=48 value=''><br>";
echo "Ïàðîëü: <br>\n";
echo "<input type=text name=pwd size=48 value=''><br>";
echo "<input name=\"Submit\" type=submit value='go' >";
echo "</form>";
echo "</body></html>\n";
exit;
}
else
{
if($login_check!==$login || $pwd_check!==$pwd){
echo "error";exit;}
}
Только не забудь $login_check и $pwd_check поменять.
|
|
|

17.12.2005, 15:49
|
|
Постоянный
Регистрация: 20.01.2005
Сообщений: 899
Провел на форуме: 1535446
Репутация:
182
|
|
может я чего-нить конечно и не понимаю))
Так оно и есть,парниша хочет аунтификацировать пользователя через Auth Basic(читаем спецификацию http)
Если в 2 строчках будет что-то типа:
PHP код:
if(!isset($_SERVER['PHP_AUTH_USER'])){header('WWW-Authenticate: Basic realm="Authentication"');header('HTTP/1.0 401 Unauthorized');exit;}
else{if($_SERVER['PHP_AUTH_USER']!=="user" || $_SERVER['PHP_AUTH_PW']!=="cool"){die('Error');} echo 'ok';}
|
|
|

17.12.2005, 15:49
|
|
Banned
Регистрация: 20.06.2005
Сообщений: 880
Провел на форуме: 4610226
Репутация:
1332
|
|
|
|
|

17.12.2005, 16:45
|
|
Участник форума
Регистрация: 16.09.2004
Сообщений: 193
Провел на форуме: 621131
Репутация:
47
|
|
2ZaCo понял  )
|
|
|

17.12.2005, 18:21
|
|
Участник форума
Регистрация: 19.10.2005
Сообщений: 128
Провел на форуме: 584821
Репутация:
83
|
|
Парни спасиб большое, ща папробуююю...
|
|
|

17.12.2005, 18:44
|
|
Участник форума
Регистрация: 19.10.2005
Сообщений: 128
Провел на форуме: 584821
Репутация:
83
|
|
Сообщение от virgoz
Вот это в начало index.php вставь:
PHP код:
$login_check="demo";
$pwd_check="demo";
if(!isset($login)&&!isset($pwd))
{
echo "<form method=post>";
echo "<html><head><title></title></head><body>\n";
echo "Ëîãèí: <br>\n";
echo "<input type=text name=login size=48 value=''><br>";
echo "Ïàðîëü: <br>\n";
echo "<input type=text name=pwd size=48 value=''><br>";
echo "<input name=\"Submit\" type=submit value='go' >";
echo "</form>";
echo "</body></html>\n";
exit;
}
else
{
if($login_check!==$login || $pwd_check!==$pwd){
echo "error";exit;}
}
Только не забудь $login_check и $pwd_check поменять.
Вот этот код работает, но происходит следубщая херня, у мя стоит php-fusion, и при обращении к индексу админки, идет все номано логи пасс ввожу, иде дальше, и начинается открытие страницы и пишет не верный логин и пасс в самрм php-fusion, и происходит переход на главную страницу. что можно предпринять?
|
|
|

17.12.2005, 21:49
|
|
Постоянный
Регистрация: 20.01.2005
Сообщений: 899
Провел на форуме: 1535446
Репутация:
182
|
|
Использовать мой код =)
Вместо echo "ok"; вставь код админки.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|