Не входит в админку?

Закрыто
mkden
Сообщения: 96
Зарегистрирован: 08.05.2010
Вобщем пытаюсь установить скрипт новости!

Содержимое файла login.php:

Код: Выделить всё

<?
session_start();
include "params.php";
print "<div align=\"center\">\n";
print "<form method=\"post\" action=\"login.php\">\n";
print "<inpu type=\"hodden\" name=\"seenform\" value=\"y\">\n";
print "<table width=\"50%\" border=\"0\">\n";
print "<tr>\n";
print "<td bgcolor=\"#CCCCCC\">\n";
print "<table width=\"100%\" border=\"0\" bgcolor=\"#F7F7F7\">\n";
print "<tr>\n";
print "<td colspan=\"3\" height=\"30\">\n";
print "<div align=\"center\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"3\"><b>Служебный вход</b></font></div>\n";
print "</td>\n";
print "</tr>\n";
print "<tr>\n";
print "<td width=\"16%\">&nbsp;</td>\n";
print "<td width=\"17%\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">Логин:</font></td>\n";
print "<td width=\"67%\">\n";
print "<input type=\"text\" name=\"login\" style = \"BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-TOP-COLOR=CCCCCC; BORDER-LEFT-COLOR=CCCCCC; BORDER-BOTTOM-COLOR=CCCCCC; BORDER-RIGHT-COLOR=CCCCCC;\">\n";
print "</td>\n";
print "</tr>\n";
print "<tr>\n";
print "<td width=\"16%\">&nbsp;</td>\n";
print "<td width=\"17%\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">Пароль:</font></td>\n";
print "<td width=\"67%\">\n";
print "<input type=\"password\" name=\"password\" style = \"BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-TOP-COLOR=CCCCCC; BORDER-LEFT-COLOR=CCCCCC; BORDER-BOTTOM-COLOR=CCCCCC; BORDER-RIGHT-COLOR=CCCCCC;\">\n";
print "</td>\n";
print "</tr>\n";
print "<tr>\n";
print "<td width=\"16%\">&nbsp;</td>\n";
print "<td width=\"17%\">&nbsp;</td>\n";
print "<td width=\"67%\">\n";
print "<input type=\"radio\" name=\"level\" value=\"1\">
<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\">Модератор<BR>
<input type=\"radio\" name=\"level\" value=\"2\" checked>
<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\">Администратор";
print "</td>\n";
print "</tr>\n";
print "<tr>\n";
print "<td width=\"16%\">&nbsp;</td>\n";
print "<td width=\"17%\">&nbsp;</td>\n";
print "<td width=\"67%\">\n";
print "<input type=\"submit\" name=\"submit\" value=\"Войти\" style=\"BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid;  BACKGROUND: F4F4F4; Font face: Verdana\">\n";
print "</td>\n";
print "</tr>\n";
print "</table>\n";
print "</td>\n";
print "</tr>\n";
print "</table>\n";
print "</form>\n";
print "</div>\n";

if(isset($submit) and $level!="")
{
if($login!="" and $password!="")
{
if($level==2)
{
if($log==$login and $password==$pass)
{
$login=$adminlog;
$password=$adminpass;
$adm=1;
session_register("adm");
print "<div align=\"center\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"3\"><a href=adminn.php>Вход выполнен (администратор)</a>!</font></div>";
}
else
print "<div align=\"center\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"3\">Пароль и/или логин не верен!</font></div>";
}

if($level==1)
{
$ch=@file("moders/$login") or die("<div align=\"center\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"3\">Модератор не найден!</font></div>");
list($modlog,$modpass,$n,$m)=split("::",$ch[0]);
if($login==$modlog and $password==$modpass)
{
$mod=1;
$modid=$modlog;
session_register("modid");
session_register("mod");
print "<div align=\"center\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"3\"><a href=moder.php>Вход выполнен (модератор)</a>!</font></div>";
}
else
print "<div align=\"center\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"3\">Пароль и/или логин не верен!</font></div>";
}
}
}
?>
Содержимое файла params.php:

Код: Выделить всё

<?
$log="admin"; 
$pass="admin";
$yourname="admin"; 
$yourmail="admin@site.ru"; 
$maxfsize=100000000; // макс. размер закачеваемого файла (в байтах)
$nums=10; // новостей на страницу
$standon=0; // включить приведение всех изображений в новостях к единым значениям X и Y (0 - выкл.)
$standx=200; // приводить все изображения в новостях к этому значению X
$standy=200; // приводить все изображения в новостях к этому значению Y
$highmoder=1; // модератор может удалять/редактировать новости, добавленные админом (0 - выкл.)
?>
Ссылка для входа в админку : http://codmk.org.ru/monitor/login.php

Где в коде ошибка?
Почему не входит в админку?
p.s: В php я нуб!!! )

Аватара пользователя
AgentSIB
Сообщения: 329
Зарегистрирован: 17.05.2010
Вот кто вас учит использовать Register Globals. Поотрывал бы руки.
Frustra fit per plura quod potest fieri per pauciora © Закон "Бритвы Оккама"

Аватара пользователя
Distructor
Администратор
Сообщения: 1607
Зарегистрирован: 28.12.2009
AgentSIB писал(а):Вот кто вас учит использовать Register Globals. Поотрывал бы руки.
скрипт скорее всего взят из открытых источников, которые чаще всего и пишут "начинающие" ничего не знающие о дырках в безопасности)

Для тех кто не в курсе - включение Register Globals автоматически преобразовывает параметры переданные методами GET, POST и т.д. в переменные. Но это является критической дыркой в безопасности, т.к. позволяет подменять значения переменных используемых в коде.

Т.е. в целях безопасности register_globals должны быть отключены - в php.ini должно быть
register_globals = off

А приведенный код скорее всего не работает как раз из-за отключенных register_globals

mkden
Сообщения: 96
Зарегистрирован: 08.05.2010
ясно будем делать новый!)

-- добавлено 18 авг 2010, 00:35 --

у меня на хостинге не подабраться в php.ini,

в общем уже другой скрипт установил и все ок!
p.s: В php я нуб!!! )

Khvosticov Sergey
Сообщения: 203
Зарегистрирован: 31.12.2009
У меня отключен.

mkden если хостинг разрешает использовать .htaccess то пропиши в нём

Код: Выделить всё

php_flag register_globals Off
-- добавлено 18 авг 2010, 11:50 --

Ещё , зачем столько раз прописывать print ??? можно запутаться , можно раз прописать echo ""; и думаю будет труднее запутаться в коде , жалей глаза читающих.

-- добавлено 18 авг 2010, 11:51 --

Да ещё и \n помоему работает только в windows
🇷🇺🇷🇺🇷🇺

Аватара пользователя
Distructor
Администратор
Сообщения: 1607
Зарегистрирован: 28.12.2009
Khvosticov Sergey писал(а):если хостинг разрешает использовать .htaccess то пропиши в нём
у него он и так отключен, потому приведенный код и не работает
Khvosticov Sergey писал(а):Ещё , зачем столько раз прописывать print
я уже писал выше что код не его авторства, потому комментировать его кривость смысла нет
Khvosticov Sergey писал(а):Да ещё и \n помоему работает только в windows
Не совсем. В винде по умолчанию используется \n\r (перенос строки и перевод каретки), а в линуксе только \n. Но даже если поставить только \n винда вполне корректно его понимает.

тему дальше развивать думаю не стоит, т.к. топикстартер уже отписался
mkden писал(а):вобщем уже другой скрипт установил и все ок!
думаю стоит написать темку про register_globals, а данную тему выкинуть в мусор, чтобы никто не пытался поставить себе этот код авторизации.

Khvosticov Sergey
Сообщения: 203
Зарегистрирован: 31.12.2009
ну если из бд вытаскивать текст и делать новые строки то вполне достаточно <pre></pre>
🇷🇺🇷🇺🇷🇺

mkden
Сообщения: 96
Зарегистрирован: 08.05.2010
блин всетаки тему рано закрывать поставил скрипт все ок с админой только новости не выводяться выдает следуещее:

Код: Выделить всё

mysql_num_rows(): supplied argument is not a valid MySQL result resource in codmk.org.ru/monitor/news.php on line 7
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in codmk.org.ru/monitor/news.php on line 8
Содержание файла news.php

Код: Выделить всё

<?
require_once("cpanel/lib.php");
$postpref="_1";
if (!isset($_GET['data']) and !isset($_GET['id'])){
$linedate=date("Y-n-j",time());
$result = mysql_query("select * from ".$table_news." where news_date = '".mysql_real_escape_string($linedate)."' order by `news_id` desc limit 0,$am_news",$connect);
$num_rows = mysql_num_rows($result);
if($num_rows =="0"){$result = mysql_query("select * from ".$table_news." order by `news_id` desc limit 0,$am_news",$connect);$num_rows = mysql_num_rows($result);}
     for($i=0;$i < $num_rows;$i++)
 {
$row=mysql_fetch_array($result);
$img=$row['news_stamp'];
$news_exp=$row['news_exp'];
?>
<table cellspacing=0 cellpadding=4 width=<?=$tab_width?> border=0>
<tbody>

<tr><td colspan=2 bgcolor=#E6E6E6><?
if ($p_time == 1) {print $row['news_time'] . " ";}
if ($p_date == 1){$news_date = explode("-", $row['news_date']);print $news_date[2].'.'.$news_date[1].'.'.$news_date[0];}
print "&nbsp; $row[news_title]";?></td></tr>

<tr>
<?if ($row['news_img'] == "l"){print "<td valign=top bgcolor=#F4F4F4><img src=\"$script_dir/$img_dir/$img$postpref$news_exp\" border=0></td>";}?>
<?if ($row['news_img'] == "n"){print "<td bgcolor=#F4F4F4></td>";}

$LengthC=strlen($row['news_content']);
$name = substr($row['news_content'], 0, $PreLengthC)." .... <a href=\"?id=".$row['news_id']."\">Подробнее&nbsp;>>></a>";
print "<td width=100% valign=top bgcolor=#F4F4F4>".$name."</td>";
if ($row['news_img'] == "r"){print "<td valign=top bgcolor=#F4F4F4><img src=\"$script_dir/$img_dir/$img$postpref$news_exp\" border=0></td>";}
print "</tr></tbody></table><br>";
}
}
elseif (isset($_GET['data'])){
$linedate=$_GET['data'];
$result = mysql_query("select * from ".$table_news." where news_date = '".mysql_real_escape_string($linedate)."' order by `news_id` desc",$connect);
$num_rows = mysql_num_rows($result);
if($num_rows =="0"){$result = mysql_query("select * from ".$table_news." order by `news_id` desc limit 0,$am_news",$connect);$num_rows = mysql_num_rows($result);}
     for($i=0;$i < $num_rows;$i++)
 {
$row=mysql_fetch_array($result);
$img=$row['news_stamp'];
$news_exp=$row['news_exp'];
?>
<table cellspacing=0 cellpadding=4 width=<?=$tab_width?> border=0>
<tbody>

<tr><td colspan=2 bgcolor=#E6E6E6><?
if ($p_time == 1) {print $row['news_time'] . " ";}
if ($p_date == 1){$news_date = explode("-", $row['news_date']);print $news_date[2].'.'.$news_date[1].'.'.$news_date[0];}print "&nbsp; $row[news_title]";?></td></tr>


<tr>
<?if ($row['news_img'] == "l"){print "<td valign=top bgcolor=#F4F4F4><img src=\"$script_dir/$img_dir/$img$postpref$news_exp\" border=0></td>";}?>
<?if ($row['news_img'] == "n"){print "<td bgcolor=#F4F4F4></td>";}

$LengthC=strlen($row['news_content']);
$name = substr($row['news_content'], 0, $PreLengthC)." .... <a href=\"?id=".$row['news_id']."\">Подробнее&nbsp;>>></a>";
print "<td width=100% valign=top bgcolor=#F4F4F4>".$name."</td>";
if ($row['news_img'] == "r"){print "<td valign=top bgcolor=#F4F4F4><img src=\"$script_dir/$img_dir/$img$postpref$news_exp\" border=0></td>";}
print "</tr></tbody></table><br>";
}
}
elseif
(isset($_GET['id'])){
$id=intval($_GET['id']);
$result = mysql_query("select * from ".$table_news." where news_id = $id",$connect);
$row=mysql_fetch_array($result) or die (print "<script language='Javascript'>function reload() {location = \"http://www.allscript.ru/\"}; setTimeout('reload()', 0);</script>");
$img=$row['news_stamp'];
$news_exp=$row['news_exp'];
print "<table cellspacing=0 cellpadding=4 width=$tab_width border=0>
<tbody>
<tr><td bgcolor=E6E6E6>";
if ($p_time == 1) {print $row['news_time'] . " ";}
if ($p_date == 1){$news_date = explode("-", $row['news_date']);print $news_date[2].'.'.$news_date[1].'.'.$news_date[0];} print "&nbsp; ".$row['news_title']."</td></tr>


<tr>";
if ($row['news_img'] == "l")
{print "<td width=100% valign=top bgcolor=#F4F4F4><a href=\"$script_dir/$img_dir/$img$news_exp\"><img src=\"$script_dir/$img_dir/$img$postpref$news_exp\" align=left hspace=10 vspace=5 border=0 alt=\"Увеличить\"></a>";}
if ($row['news_img'] == "n"){print "<td width=100% valign=top bgcolor=#F4F4F4>";}
if ($row['news_img'] == "r"){print "<td width=100% valign=top bgcolor=#F4F4F4><a href=\"$script_dir/$img_dir/$img$news_exp\"><img src=\"$script_dir/$img_dir/$img$postpref$news_exp\" align=right hspace=5 vspace=5 border=0 alt=\"Увеличить\"></a>";}
print " $row[news_content] </td></tr></tbody></table><br>";

}
else {print "брр";};


?>
p.s: В php я нуб!!! )

Khvosticov Sergey
Сообщения: 203
Зарегистрирован: 31.12.2009
Как таблица называется в бд ?
Да и

Код: Выделить всё

require_once("cpanel/lib.php");
Лучше заменить на

Код: Выделить всё

include "cpanel/lib.php";
🇷🇺🇷🇺🇷🇺

mkden
Сообщения: 96
Зарегистрирован: 08.05.2010
news
p.s: В php я нуб!!! )

Аватара пользователя
Distructor
Администратор
Сообщения: 1607
Зарегистрирован: 28.12.2009
а хоть одна новость в базу добавлена? или таблица пустая?

mkden
Сообщения: 96
Зарегистрирован: 08.05.2010
да новость 1 в базу добавлена в админке она выводиться и редактируеться а через невс нехочит!
p.s: В php я нуб!!! )

Аватара пользователя
Distructor
Администратор
Сообщения: 1607
Зарегистрирован: 28.12.2009
ну значит за дату

Код: Выделить всё

where news_date = '".mysql_real_escape_string($linedate)."'
новостей не находит и криво это обрабатывает

mkden
Сообщения: 96
Зарегистрирован: 08.05.2010
Блин пришлось делать саммому из разных уроков все сделал осталось только коменты прикрутить ,тему можно закрывать!
p.s: В php я нуб!!! )

Закрыто