Новичок
Профиль
Группа: Участник
Сообщений: 6
Регистрация: 25.9.2007
Репутация: нет Всего: нет
|
вообщем мне один приятель с форума Виноград помог написать скрипт пароля с сессиями, (большое ему за это спсибо!!!) теперь мне осталось их всунуть (вот так: require 'sss.php'; ) в свои скрипты. но в этих скриптах свои админки, свои сессии.... кто поможет убрать проверку пароля в моих старых скриптах и сделать чтобы проверялось по новому?? (делается это всё ради того чтобы пользоваться из одной админки, двумя другми скриптами "новости" и "гостевая книга")... мой скрипт с сессиями состоит из 2-х файлов (auth.php, sss.php). вот код 1-го:Код | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> </head>
<body>
<table align="center" width="31%" border="1" cellspacing="0"> <tr> <td bgcolor="#0000FF" align="center"><font color="#FFFFFF"><strong><p>Admin Control Panel Authorization</p></strong></font></td>
</tr>
<tr>
<td>
<form action="sss.php" method="post">
<table width="100%" border="0" cellspacing="10">
<tr>
<td width="18%"><strong>Login</strong></td>
<td width="82%" align="center"><input type="text" name="login"/></td>
</tr>
<tr>
<td><strong>Password</strong></td>
<td align="center"><input type="password" name="passw" /></td>
</tr>
<tr>
<td colspan="2" align="center">
<br />
<input type=hidden name=enter>
<input type="submit" name="login_butt" value="Login"/>
</td>
</tr>
</table>
</form></td>
</tr>
</table>
</body> </html>
|
вот код 2-го (sss.php): Код | <?php session_start();
$usrlogin = 'admin';
$usrpassw = md5('111'); //можно в файл записать: //usrlogin=admin //usrpassw=63a9f0ea7bb98050796b649e85481845
//а потом считывать parse_ini_file('./passwd.txt');
if(isset($_POST['enter']) and !empty($_POST['login']) and !empty($_POST['passw'])) {
$_SESSION['login'] = $_POST['login']; $_SESSION['passw'] = md5($_POST['passw']); }
if(($usrlogin !== $_SESSION['login']) or ($usrpassw !== $_SESSION['passw'])) if(isset($_POST['enter'])) { require './auth.php'; die("<br><div align=\"center\"><h3>Incorrect login or password</h3><strong>Try again</strong></div>"); } else { require './auth.php'; die; }
//код страницы
?>
|
и вот 2 файла (2-х админак) в которых нужно убрать старые сессии !!!! 1-ы (файл) админки скрипта "новостей" :Код | <?php
error_reporting (E_ALL ^ E_NOTICE); header("Content-type: text/html; charset=windows-1251"); header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1 header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); // HTTP/1.0
require_once("./data/config.php"); require_once("./inc/functions.inc.php"); if ( $_GET['cutepath'] != NULL ) { echo "Доступ отклонен!"; } else {
//#################
$PHP_SELF = "index.php"; $cutepath = ".";
$config_use_cookies = TRUE; // Use Cookies When Checking Authorization $config_use_sessions = FALSE; // Use Sessions When Checking Authorization $config_check_referer = FALSE; // Set to TRUE for more security
$config_cutenews_version = 'CuteNews.RU'; $config_cutenews_built = '029';
@chmoddir("./data", $config_chmod); @chmoddir("./cache", $config_chmod);
//#################
// Start plugin hack include('./inc/plugins.inc.php'); LoadActivePlugins(); // End plugin hack
$Timer = new microTimer; $Timer->start();
// Check if CuteNews is not installed $all_users_db = file("./data/users.db.php"); $check_users = $all_users_db; $check_users[1] = trim($check_users[1]); $check_users[2] = trim($check_users[2]); if((!$check_users[2] or $check_users[2] == "") and (!$check_users[1] or $check_users[1] == "")){ if(!file_exists("./inc/install.mdu")){ die('<h2>Ошибка!</h2>CuteNews обнаружил, что в системе не зарегистрировано ни одного пользователя и Вы пытаетесь запустить установочный модуль.<br />Однако модуль (<b>./inc/install.mdu</b>) не может быть загружен! Попытайтесь обновоить модуль на сервере.'); } require("./inc/install.mdu"); die(); }
require_once("./data/config.php"); if(isset($config_skin) and $config_skin != "" and file_exists("./skins/${config_skin}.skin.php")){ require_once("./skins/${config_skin}.skin.php"); }else{ $using_safe_skin = true; require_once("./skins/default.skin.php"); }
b64dck(); if($config_use_sessions){ @session_start(); @header("Cache-control: private"); }
if($action == "logout") { setcookie("md5_password",""); setcookie("username",""); setcookie("login_referer","");
if($config_use_sessions){ @session_destroy(); @session_unset(); setcookie(session_name(),""); } msg("info", "Выход", "Теперь вы вышли, <a href=\"index.php\">войти снова</a><br><br>"); }
$is_loged_in = FALSE; $cookie_logged = FALSE; $session_logged = FALSE; $temp_arr = explode("?", $HTTP_REFERER); $HTTP_REFERER = $temp_arr[0]; if(substr($HTTP_REFERER, -1) == "/"){ $HTTP_REFERER.= "index.php"; }
// Check if The User is Identified
if($config_use_cookies == TRUE){ /* Login Authorization using COOKIES */
if(isset($username)) { if(isset($HTTP_COOKIE_VARS["md5_password"])){ $cmd5_password = $HTTP_COOKIE_VARS["md5_password"]; } elseif(isset($_COOKIE["md5_password"])){ $cmd5_password = $_COOKIE["md5_password"]; } else{ $cmd5_password = md5($password); }
if(check_login($username, $cmd5_password)) { $cookie_logged = TRUE; setcookie("lastusername", $username, time()+1012324305); setcookie("username", $username); setcookie("md5_password", $cmd5_password);
}else{ $result = "<font color=red>Неправильное имя пользователя или пароль!</font>"; $cookie_logged = FALSE; } } /* END Login Authorization using COOKIES */ }
if($config_use_sessions == TRUE){ /* Login Authorization using SESSIONS */ if(isset($HTTP_X_FORWARDED_FOR)){ $ip = $HTTP_X_FORWARDED_FOR; } elseif(isset($HTTP_CLIENT_IP)) { $ip = $HTTP_CLIENT_IP; } if($ip == "") { $ip = $REMOTE_ADDR; } if($ip == "") { $ip = "not detected";}
if($action == "dologin") { $md5_password = md5($password); if(check_login($username, $md5_password)){ $session_logged = TRUE;
@session_register('username'); @session_register('md5_password'); @session_register('ip'); @session_register('login_referer');
$_SESSION['username'] = "$username"; $_SESSION['md5_password'] = "$md5_password"; $_SESSION['ip'] = "$ip"; $_SESSION['login_referer'] = "$HTTP_REFERER";
}else{ $result = "<font color=red>Неправильное имя пользователя и/или пароль!</font>"; $session_logged = FALSE; } }elseif(isset($_SESSION['username'])){ // Check the if member is using valid username/password if(check_login($_SESSION['username'], $_SESSION['md5_password'])){ if($_SESSION['ip'] != $ip){ $session_logged = FALSE; $result = "The IP in the session doesn not match with your IP"; } else{ $session_logged = TRUE; } }else{ $result = "<font color=red>Неправильное имя пользователя и/или пароль!</font>"; $session_logged = FALSE; } }
if(!$username){ $username = $_SESSION['username']; } /* END Login Authorization using SESSIONS */ }
###########################
if($session_logged == TRUE or $cookie_logged == TRUE){ if($action == 'dologin'){ //------------------------------------------- // Modify the Last Login Date of the user //------------------------------------------- $old_users_db = $all_users_db; $modified_users = fopen("./data/users.db.php", "w"); foreach($old_users_db as $old_users_db_line){ $old_users_db_arr = explode("|", $old_users_db_line); if($member_db[0] != $old_users_db_arr[0]){ fwrite($modified_users, "$old_users_db_line"); }else{ fwrite($modified_users, "$old_users_db_arr[0]|$old_users_db_arr[1]|$old_users_db_arr[2]|$old_users_db_arr[3]|$old_users_db_arr[4]|$old_users_db_arr[5]|$old_users_db_arr[6]|$old_users_db_arr[7]|$old_users_db_arr[8]|".time()."|$old_user_db_arr[10]|$old_user_db_arr[11]|$old_user_db_arr[12]|$old_user_db_arr[13]|$old_user_db_arr[14]|$old_user_db_arr[15]||\n"); } } fclose($modified_users); }
$is_loged_in = TRUE; }
###########################
// If User is Not Logged In, Display The Login Page if($is_loged_in == FALSE) { if($config_use_sessions){ @session_destroy(); @session_unset(); } setcookie("username",""); setcookie("password",""); setcookie("md5_password",""); setcookie("login_referer",""); echoheader("user","Зарегистрированным пользователям:");
echo " <table border=0 cellspacing=0 cellpadding=1> <form name=login action=\"$PHP_SELF\" method=post> <tr> <td width=80>1Имя: </td> <td><input tabindex=1 type=text name=username value='$lastusername' style=\"width:134\"></td> </tr> <tr> <td>2Пароль: </td> <td><input type=password name=password style=\"width:134\"></td> </tr> <tr> <td></td> <td ><input accesskey=\"s\" type=submit style=\"width:134; background-color: #F3F3F3;\" value=' 3Вход... '></td> </tr> <tr> <td align=center colspan=3>$result</td> </tr> <input type=hidden name=action value=dologin> </form> </table>";
echofooter(); } elseif($is_loged_in == TRUE) {
//---------------------------------- // Check Referer //---------------------------------- if($config_check_referer == TRUE){ $self = $_SERVER["SCRIPT_NAME"]; if($self == ""){ $self = $_SERVER["REDIRECT_URL"]; } if($self == ""){ $self = "index.php"; }
if(!eregi("$self",$HTTP_REFERER) and $HTTP_REFERER != ""){ die("<h2 style=\"color: #000000; text-decoration: none; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12pt;\">Извините, но доступ к системе отклонен!</h2><span style=\"color: #000000; text-decoration: none; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8pt;\">Попробуйте сначала <a href=\"?action=logout\" style=\"color: #446488; text-decoration: none; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8pt;\">выйти</a> из системы и после снова зайти!<br>Отключите проверку безопасности, измените \$config_check_referer в файле index.php на значение FALSE"); } } // ******************************************************************************** // Include System Module // ******************************************************************************** if($HTTP_SERVER_VARS['QUERY_STRING'] == "debug"){ debug(); }
//name of mod //access $system_modules = array('addnews' => 'user', 'editnews' => 'user', 'main' => 'user', 'options' => 'user', 'images' => 'user', 'editusers' => 'admin', 'editcomments' => 'user', 'tools' => 'admin', 'ipban' => 'admin', 'about' => 'user', 'music' => 'user', 'video' => 'user', 'preview' => 'user', 'categories' => 'admin', 'massactions' => 'user', 'help' => 'user', 'snr' => 'admin', 'xfields' => 'any', 'debug' => 'admin', );
if($mod == ""){ require("./inc/main.mdu"); } elseif( $system_modules[$mod] ) { if($system_modules[$mod] == "user"){ require("./inc/". $mod . ".mdu"); } elseif($system_modules[$mod] == "admin" and $member_db[1] == 1){ require("./inc/". $mod . ".mdu"); } elseif($system_modules[$mod] == "admin" and $member_db[1] != 1){ msg("error", "Доступ отклонен", "Только администратор имеет доступ к этому модулю!"); exit;} elseif($system_modules[$mod] == "any") {require("./inc/{$mod}.mdu");} else{ die("Доступ к модулю имеют <b>user</b> или <b>admin</b>."); } } else{ die("$mod неверный модуль!"); } } echo" <!-- Страница сгенерирована за ".$Timer->stop()." сек. -->"; } ?>
|
2-ой (файл) админки скрипта "Фотогалери":Код | <?php
// DISPLAY ERRORS BUT HIDE NOTICES error_reporting(E_ALL ^ E_NOTICE);
// TRIGGER INSTALLATION if(!is_file("mg2_settings.php"))include("mg2_install.php");
if ($_REQUEST['action'] != "import") { session_start(); }
// Set headers to prevent browser caching of pages header("Cache-control: private, no-cache"); header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); # Past date header("Pragma: no-cache");
include("includes/mg2_functions.php"); include("includes/mg2admin_functions.php");
$mg2 = new MG2admin;
include("mg2_settings.php"); include("includes/mg2_version.php"); if ($mg2->defaultlang == "") $mg2->defaultlang = "english.php"; include("lang/".$mg2->defaultlang);
$mg2->readDB(); include("skins/admin/admin_header.php");
//LOGIN SECURITY CHECK if ($_REQUEST['action'] != "import") { $mg2->security(); }
//////////////////////////// // MENU //////////////////////////// if (!$_REQUEST['list']) $list = "1"; else $list = $_REQUEST['list']; if ($_REQUEST['editfolder']) $list = $_REQUEST['editfolder']; for ($i=0; $i < count($mg2->all_images);$i++) { $total_size = $total_size + $mg2->all_images[$i][5]; } $dec = "1"; $val = " bytes"; if (strlen($total_size) > 3) { $dec="1024"; $val=" Kb"; } if (strlen($total_size) > 6) { $dec="1048576"; $val=" Mb"; } $total_size = round($total_size/$dec,2) . $val; $total_images = count($mg2->all_images); if ($total_images == 1) $total_images = $total_images . " " . $mg2->lang['file']; else $total_images = $total_images . " " . $mg2->lang['files']; $total_folders = count($mg2->all_folders) - 1; if ($total_folders < 0) $total_folders = 0; if ($total_folders == 1) $total_folders = $total_folders . " " . $mg2->lang['folder']; else $total_folders = $total_folders . " " . $mg2->lang['folders']; include("skins/admin/admin1_menu.php");
if($_REQUEST['submit'] == $mg2->lang['buttondelete']){ $mg2->deletefiles(); }
if($_REQUEST['action'] == "editID"){ $mg2->editID(); $mg2->getfoldersettings($_REQUEST['list']); $findfile = $mg2->select($_REQUEST['list'],$mg2->all_images,2,$mg2->folder_sortby,$mg2->folder_sortway); for ($i=0; $i < count($findfile); $i++) { if ($findfile[$i][0] == $_REQUEST['id']) $_REQUEST['editID'] = $findfile[$i+1][0]; } }
if($_REQUEST['action'] == "dbbackup"){ $mg2->db_backup(); }
if($_REQUEST['action'] == "import"){ $mg2->log("Import started"); $mg2->import(); }
if($_REQUEST['action'] == "newfolder"){ include("skins/admin/admin2_newfolder.php"); }
if($_REQUEST['action'] == "makefolder"){ $mg2->makefolder(); }
if($_REQUEST['action'] == "deleteID"){ $mg2->deleteID(); }
if($_REQUEST['action'] == "upload"){ $mg2->upload(); include("skins/admin/admin4_credits.php"); include("skins/admin/admin_footer.php"); exit(); }
if($_REQUEST['action'] == "updatefolder"){ $mg2->updatefolder(); } if($_REQUEST['action'] == "writesetup"){ $mg2->writesetup(); } if($_REQUEST['action'] == "deletecomments"){ $mg2->deletecomments(); }
//MG2 SETUP if($_REQUEST['action'] == "setup"){ $mg2->setup(); include("skins/admin/admin4_credits.php"); include("skins/admin/admin_footer.php"); exit(); }
if($_REQUEST['uploadto']){ include("skins/admin/admin2_upload.php"); }
if($_REQUEST['editfolder']){ $mg2->makefolderlist(); $mg2->editfolder(); $_REQUEST['list'] = $_REQUEST['editfolder']; }
if($_REQUEST['deleteID']){ $result = $mg2->select($_REQUEST['deleteID'],$mg2->all_images,0,1,0); include("skins/admin/admin2_delete.php"); }
if($_REQUEST['deletefolder']){ $mg2->deletefolder(); } if($_REQUEST['erasefolder']){ $mg2->erasefolder(); }
if ($_REQUEST['submit'] == $mg2->lang['buttonmove']) { $mg2->movefiles(); };
if($_REQUEST['rebuildID']){ $mg2->rebuildID(); }
if($_REQUEST['rotate']){ $mg2->rotateimage($_REQUEST['rotate'], $_REQUEST['direction']); }
if($_REQUEST['editID']){ $mg2->makefolderlist(); $result = $mg2->select($_REQUEST['editID'],$mg2->all_images,0,1,0); $description = str_replace("<br />", "\n", $result[0][4]); $_REQUEST['list'] = $result[0][2]; include("skins/admin/admin2_edit.php"); if (is_file("pictures/" . $result[0][1] . ".comment")) { $mg2->readcomments("pictures/" . $result[0][1] . ".comment"); include("skins/admin/admin2_comments.php"); } }
if($_REQUEST['action'] != "import") {
if(strlen($_REQUEST['list']) < 1) $_REQUEST['list'] = "1";
$mg2->getfoldersettings($_REQUEST['list']); $folders = $mg2->select($_REQUEST['list'],$mg2->all_folders,1,2,0); $result = $mg2->select($_REQUEST['list'],$mg2->all_images,2,$mg2->folder_sortby,$mg2->folder_sortway);
// // PAGE COUNTER // if($_REQUEST["page"] == "") $_REQUEST["page"] = 1; $prpage = 20; $pages = ceil(count($result) / $prpage); $start = ($_REQUEST["page"] - 1) * $prpage; $end = $start + $prpage; if($_REQUEST["page"] == "all") { $start = 0; $end = 999999999999999999999999999; }
// // LIST FOLDERS // $class = "table_files"; include("skins/admin/admin_table_start.php"); for ($i=0; $i < count($folders);$i++){ include("skins/admin/admin3_folders.php"); }
// // LIST FILES // for ($i=$start; $i < count($result) && $i < $end;$i++){ $dec = 1; $val = " bytes"; if (strlen($result[$i][5]) > 3) { $dec="1024"; $val=" KB"; } if (strlen($result[$i][5]) > 6) { $dec="1048576"; $val=" MB"; } $filesize = round(($result[$i][5]/$dec),2) . $val; include("skins/admin/admin3_files.php"); } $totalfiles = count($result);
include("skins/admin/admin_table_end.php");
// $_REQUEST['editfolder'] = ""; $_REQUEST['editID'] = ""; $mg2->makefolderlist(); include("skins/admin/admin4_controls.php"); } include("skins/admin/admin4_credits.php");
include("skins/admin/admin_footer.php"); ?>
|
Мастера!!! насколько я понимаю, то это проблемотичная задача, но если кому то захочится проверить свои навыки, то помогите решить эту проблему! Это сообщение отредактировал(а) kepa - 28.9.2007, 23:07
|