Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Один пароль на две разные админки, разных скриптов 
:(
    Опции темы
kepa
Дата 26.9.2007, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 25.9.2007

Репутация: нет
Всего: нет



Привет мастерам! У меня к вам не большой вопросик! Чтобы не засорять форум, после ответа, можно тему удалить...



Как сделать один пароль на две разные админки, двух разных скриптов!!???
т.е. у меня есть скрипт "Нвости" и "Гост. книга" я хочу чтобы я админки "Нвости" мог нажать ссылку "редактировать Гост. книгу", ну, чтобы не вводить там снова пароль гостивухи!!! как в эту ссылку сразу вписать пароль ????

спасибо....


PM MAIL   Вверх
console
Дата 26.9.2007, 23:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 307
Регистрация: 12.2.2007
Где: Belarus::Minsk

Репутация: 2
Всего: 3



Используй механизм сессий (SESSIONs)...
Read here


--------------------
user posted image
Nothing is impossible
My WeBlog
PM MAIL WWW ICQ   Вверх
kepa
Дата 27.9.2007, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 25.9.2007

Репутация: нет
Всего: нет



Прочитал эту информацию, но для меня это тяжело понять... :( подскажите кто нибудь что писать, и куда писать???? как  я понял нужно просто пару строчек вверху каждого файла, ток что там писать???? 
PM MAIL   Вверх
console
Дата 27.9.2007, 00:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 307
Регистрация: 12.2.2007
Где: Belarus::Minsk

Репутация: 2
Всего: 3





--------------------
user posted image
Nothing is impossible
My WeBlog
PM MAIL WWW ICQ   Вверх
kepa
Дата 28.9.2007, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0931 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.