[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Доступ к админек по паролю
offline78
Подскажите, как реализовать доступ к администраторской части сайта по паролю.

Заранее спасибо.



Спустя 7 минут, 41 секунда (14.10.2009 - 19:59) SunSet написал(а):

Спустя 10 минут, 38 секунд (14.10.2009 - 20:10) offline78 написал(а):
по ссылке скрипт Повова, я его пробовал, на локальной машине работает, выгружаю на сервер в нет, там не работает sad.gif( почему не знаю sad.gif
Вот и ищу другие способы.

Спустя 7 минут, 57 секунд (14.10.2009 - 20:17) SunSet написал(а):
offline78
А разобраться почему не работает не пробовал? Или есть в скрипте будет не так буква написана, сразу искать другой?

Спустя 2 минуты, 48 секунд (14.10.2009 - 20:20) offline78 написал(а):
да в том то и дело, что на локальной машине работате, а в сети нет sad.gif
может поможете разобраться?
А то сижу битый день а ничего не идет sad.gif

Спустя 2 минуты, 54 секунды (14.10.2009 - 20:23) SunSet написал(а):
offline78
Ну здесь же не шоу-телепатов, мог бы хоть ошибку выдаваемую привести или что там вообще происходит. Вот когда уже никто не будет знать что делать - можно искать другие пути решения smile.gif

Спустя 1 минута, 45 секунд (14.10.2009 - 20:25) offline78 написал(а):
2 минуты и я все скину smile.gif
сейчас все подготовлю
Заранее спасибо за участие в проблеме

Спустя 57 секунд (14.10.2009 - 20:26) SunSet написал(а):
Цитата (offline78 @ 14.10.2009 - 17:25)
Заранее спасибо за участие в проблеме

Я там нипричем))))

Спустя 16 минут, 17 секунд (14.10.2009 - 20:42) offline78 написал(а):
итак, следующая структура каталога

в корне
файл подключения к базе данных db.php
каталог rus
каталог eng
каталог admin

в каталоге admin файлы
index.php
lock.php

код файла index.php

PHP
<?
include(
"lock.php"); /*соединяемся с файлом защиты*/
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN


содержание файла lock.php

PHP
<?php
include("../db.php");
if (!isset($_SERVER['PHP_AUTH_USER']))

{
        Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
        Header ("HTTP/1.0 401 Unauthorized");
        exit();
}

else {
        if (!get_magic_quotes_gpc()) {
                $_SERVER['PHP_AUTH_USER'] = mysql_escape_string($_SERVER['PHP_AUTH_USER']);
                $_SERVER['PHP_AUTH_PW'] = mysql_escape_string($_SERVER['PHP_AUTH_PW']);
        }

        $query = "SELECT pass FROM userlist WHERE user='".$_SERVER['PHP_AUTH_USER']."'";
        $lst = @mysql_query($query);

        if (!$lst)
        {
            Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
        Header ("HTTP/1.0 401 Unauthorized");
        exit();
        }

        if (mysql_num_rows($lst) == 0)
        {
           Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
           Header ("HTTP/1.0 401 Unauthorized");
           exit();
        }

        $pass =  @mysql_fetch_array($lst);
        if ($_SERVER['PHP_AUTH_PW']!= $pass['pass'])
        {
            Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
           Header ("HTTP/1.0 401 Unauthorized");
           exit();
        }

}


файл db.php

PHP
<?php
  $db 
= mysql_connect("localhost","user","pass");
  mysql_query('SET NAMES utf8');
  mysql_select_db ("hobby",$db)


Все работает отлично на локальной машине.

при переносе на сервер, меняется только настройка файла db.php все остается точно также и при вызове гостевой появляется белый листик вот с этими буковками

яЛП

и все sad.gif

в чем может быть проблема?

Спустя 7 минут, 24 секунды (14.10.2009 - 20:50) SunSet написал(а):
А гостевая твоя где находится?

Спустя 1 минута, 27 секунд (14.10.2009 - 20:51) offline78 написал(а):
гостевой у меня нет

Спустя 9 минут, 26 секунд (14.10.2009 - 21:00) SunSet написал(а):
Цитата
и при вызове гостевой появляется белый листик вот с этими буковками

А что ты тогда вызываешь??? blink.gif
Вообще, просто укажи адресс типа www.site.ru/admin/
Должно появиться окошко ввода пароля.

Спустя 2 минуты, 19 секунд (14.10.2009 - 21:03) offline78 написал(а):
ой, описался, не гостевой а администраций части
в том то и дело, что я указываю имя сайта/admin/
а в ответ тишина sad.gif

Спустя 5 минут, 34 секунды (14.10.2009 - 21:08) SunSet написал(а):
Вставь вместо того что в файле lock.php вот это:
PHP
<?php 
$username 
'admin';
$password 'pass';
if(!
basicAuth($username$password))
    exit(
'Залогиньтесь пожалуйста..');


function 
basicAuth($username$password)
{
    if(isset(
$_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) && $_SERVER['PHP_AUTH_USER'] == $username && $_SERVER['PHP_AUTH_PW'] == $password)
    {
        return 
true;
    }
    else
    {
        
header('WWW-Authenticate: Basic realm="Login"');
        
header('HTTP/1.0 401 Unauthorized');
        return 
false;
    }
}

Спустя 8 минут, 43 секунды (14.10.2009 - 21:17) offline78 написал(а):
на локальной работает
при выгрузке в интернет, окошко появляется и при вводе пароля и имени пользователя оно снова появляется как зацикленное, появляется снова после ввода данных sad.gif

Спустя 1 минута, 14 секунд (14.10.2009 - 21:18) SunSet написал(а):
offline78
А вводишь ты что?
В логин вводи: admin
в поле пароля: pass

Спустя 5 минут, 58 секунд (14.10.2009 - 21:24) offline78 написал(а):
да, именно это

уже и вводил и копировал, и результат один и тот же, окошко появляется снова :*

Спустя 7 минут, 43 секунды (14.10.2009 - 21:32) SunSet написал(а):
offline78
Странно. Убери вообще все, не стань ни пароля ни логина:
PHP
$username '';
$password '';

Зайди в адм. папку, обнови страницу и просто нажми на Ок в окошке.

Спустя 2 минуты, 57 секунд (14.10.2009 - 21:35) offline78 написал(а):
все равно не идет sad.gif

результат можно увидеть тут

http://hobby-forum.net/admin/index.php

Спустя 4 минуты, 10 секунд (14.10.2009 - 21:39) SunSet написал(а):
offline78
У тебя проблемы с кодировкой. У меня твоя страничка обозначается как "Балтийская ISO"

Спустя 1 минута, 26 секунд (14.10.2009 - 21:40) offline78 написал(а):
так а почему он даже пустые поля не воспринимает?

Спустя 6 минут, 34 секунды (14.10.2009 - 21:47) SunSet написал(а):
offline78
хз..
PHP
<?php 
header
('Content-Type: text/html; charset=windows-1251'); 

$username '';
$password '';
if(!
basicAuth($username$password))
    exit(
'Залогиньтесь пожалуйста..');


function 
basicAuth($username$password)
{
    if(isset(
$_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) && $_SERVER['PHP_AUTH_USER'] == $username && $_SERVER['PHP_AUTH_PW'] == $password)
    {
        return 
true;
    }
    else
    {
        
header('WWW-Authenticate: Basic realm="Login"');
        
header('HTTP/1.0 401 Unauthorized');
        return 
false;
    }
}

попробуй вот так, если не работает то я не знаю... blink.gif

Спустя 5 минут, 49 секунд (14.10.2009 - 21:53) offline78 написал(а):
тоже не помогает sad.gif
а может можно как то сделать что бы данные вводить не в диалоговое окно а на страницу или это не безопасно?

Спустя 5 минут, 29 секунд (14.10.2009 - 21:58) SunSet написал(а):
offline78
Те же яйца только в профиль..
Даже не знаю что еще посоветовать..

Спустя 3 минуты, 11 секунд (14.10.2009 - 22:02) SunSet написал(а):
offline78
Ану еще вариант..
Все что в файле убери, вставь вот это:
PHP
<?php 
header
('Content-Type: text/html; charset=windows-1251'); 

$username 'admin';
$password 'pass';

echo 
$username."<br>";
echo 
$password."<br>";

Спустя 9 минут, 17 секунд (14.10.2009 - 22:11) offline78 написал(а):
вот результат

admin
pass
п»ї п»ї

Спустя 40 секунд (14.10.2009 - 22:11) offline78 написал(а):
все как бы работает

Спустя 1 минута, 8 секунд (14.10.2009 - 22:13) SunSet написал(а):
offline78
Да, вижу. Тогда, наверно, дело в настройках уже. Тут уже не могу помочь unsure.gif

Спустя 1 минута, 57 секунд (14.10.2009 - 22:15) offline78 написал(а):
ок, спасибо, будем думать
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.