Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: авторизация

Сообщения:  [1-10]    [11-20]  [21-24] 

 
 автор: cheops   (11.08.2005 в 19:19)   письмо автору
 
   для: SINtez   (11.08.2005 в 14:20)
 

Вы можете использовать для построения такой системы либо статью http://www.softtime.ru/info/articlephp.php?id_article=34, либо указанную выше тему http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=80, но всех надёжнее будет использовать защиту директории с административной частью средствами Apache, подробнее о которых можно почитать в статье по ссылке http://www.softtime.ru/info/articlephp.php?id_article=27

   
 
 автор: totx   (11.08.2005 в 18:36)   письмо автору
 
   для: SINtez   (11.08.2005 в 15:23)
 

Работа в 3 шага:
1) Создаем фаил index.php и со следующим содержанием:

<?php
  
if(!isset($HTTP_POST_VARS['name'])&&!isset($HTTP_POST_VARS['password']))
  {
?>
<div align="center"><h1>Опознание Админа.</h1>
    <form method="post" action="index.php">
    <table border="1">
    <tr>
      <th> Логин </th>
      <td> <input type="text" name="name"> </td>
    </tr>
    <tr>
      <th> Пароль </th>
      <td> <input type="password" name="password"> </td>
    </tr>
    <tr>
      <td colspan="2" align="center">
        <input type="submit" value="Войти">
      </td>
    </tr>
    </table>
    </form></div>
<?php
  
}
  else
  {
     include_once(
'config.php');
    
$query "select count(*) from admin where
              name = '
$name' and
              pass = '
$password'";
    
$result mysql_query$query );
    if(!
$result)
    {
      echo 
'Невозможно выполнить запрос.';
      exit;
    }
    
$count mysql_result$result0);
    if ( 
$count )
    {
      echo 
'<h1>Вы на месте!</h1>';
      
URL=aut_index.html'></HEAD></HTML>";
    }
    else
    {
      echo '
<h1>Уходите!</h1>';
      echo '
Вам не разрешено просматривать этот ресурс.';
    }
  }
?>

2. Создаем фаил config.php со следующим содержанием:

<?php
  $dblocation 
"localhost"//адрес б.д.
  
$dbname "name_db";//имя базы данных
  
$dbuser "login";//твой логин к базе данных
  
$dbpasswd "password";//твой пароль к б.д.
  
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
  if (!
$dbcnx)
  {
    echo( 
"<P>В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.</P>" );
    exit();
  }
  if (! @
mysql_select_db($dbname,$dbcnx) )
  {
    echo( 
"<P>В настоящий момент база данных не доступна, поэтому корректное отображение страницы невозможно.</P>" );
    exit();
  }
//Классная функция на случай повторения соединения с Б.Д.
  
function puterror($message)
  {
    echo(
"<p>$message</p>");
    exit();
  }
?>

3) И таблица в самой базе данных, создай запрос со следующим содержанием:

CREATE TABLE 'admin' (
  'name' varchar(10) NOT NULL default '',
  'pass' varchar(15) NOT NULL default '',
  PRIMARY KEY  ('name')
) TYPE=MyISAM;

-- 
-- Дамп данных таблицы 'admin'
-- 

INSERT INTO 'auth' VALUES ('login', 'password');

Готово, теперь заходи на страницу index.php.

   
 
 автор: totx   (11.08.2005 в 18:36)   письмо автору
 
   для: SINtez   (11.08.2005 в 15:23)
 

Работа в 3 шага:
1) Создаем фаил index.php и со следующим содержанием:

<?php
  
if(!isset($HTTP_POST_VARS['name'])&&!isset($HTTP_POST_VARS['password']))
  {
?>
<div align="center"><h1>Опознание Админа.</h1>
    <form method="post" action="index.php">
    <table border="1">
    <tr>
      <th> Логин </th>
      <td> <input type="text" name="name"> </td>
    </tr>
    <tr>
      <th> Пароль </th>
      <td> <input type="password" name="password"> </td>
    </tr>
    <tr>
      <td colspan="2" align="center">
        <input type="submit" value="Войти">
      </td>
    </tr>
    </table>
    </form></div>
<?php
  
}
  else
  {
     include_once(
'config.php');
    
$query "select count(*) from admin where
              name = '
$name' and
              pass = '
$password'";
    
$result mysql_query$query );
    if(!
$result)
    {
      echo 
'Невозможно выполнить запрос.';
      exit;
    }
    
$count mysql_result$result0);
    if ( 
$count )
    {
      echo 
'<h1>Вы на месте!</h1>';
      
URL=aut_index.html'></HEAD></HTML>";
    }
    else
    {
      echo '
<h1>Уходите!</h1>';
      echo '
Вам не разрешено просматривать этот ресурс.';
    }
  }
?>

2. Создаем фаил config.php со следующим содержанием:

<?php
  $dblocation 
"localhost"//адрес б.д.
  
$dbname "name_db";//имя базы данных
  
$dbuser "login";//твой логин к базе данных
  
$dbpasswd "password";//твой пароль к б.д.
  
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
  if (!
$dbcnx)
  {
    echo( 
"<P>В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.</P>" );
    exit();
  }
  if (! @
mysql_select_db($dbname,$dbcnx) )
  {
    echo( 
"<P>В настоящий момент база данных не доступна, поэтому корректное отображение страницы невозможно.</P>" );
    exit();
  }
//Классная функция на случай повторения соединения с Б.Д.
  
function puterror($message)
  {
    echo(
"<p>$message</p>");
    exit();
  }
?>

3) И таблица в самой базе данных, создай запрос со следующим содержанием:

CREATE TABLE 'admin' (
  'name' varchar(10) NOT NULL default '',
  'pass' varchar(15) NOT NULL default '',
  PRIMARY KEY  ('name')
) TYPE=MyISAM;

-- 
-- Дамп данных таблицы 'admin'
-- 

INSERT INTO 'auth' VALUES ('login', 'password');

Готово, теперь заходи на страницу index.php.

   
 
 автор: SINtez   (11.08.2005 в 18:16)   письмо автору
 
   для: Гость   (11.08.2005 в 14:53)
 

может я чего не понял? он меня и при правильном и при неправильном ответах перекидывает на страницу admin_catalog.php :(((

   
 
 автор: SINtez   (11.08.2005 в 18:01)   письмо автору
 
   для: Гость   (11.08.2005 в 14:53)
 

а если человек допустим скачает этот файл с помощью телепортпро он сможет обнаружить пароль?

   
 
 автор: SINtez   (11.08.2005 в 17:58)   письмо автору
 
   для: Гость   (11.08.2005 в 17:08)
 

спасибо - я понял.

   
 
 автор: Гость   (11.08.2005 в 17:08)   письмо автору
 
   для: SINtez   (11.08.2005 в 15:21)
 

такой код покажет тебе хеш нужного слова:

<?
echo md5('нужное_слово/набор_букв');
?>

   
 
 автор: Loki   (11.08.2005 в 15:29)   письмо автору
 
   для: P@Sol   (11.08.2005 в 14:36)
 

Ну трижды его хешировать смысла нет: все равно это необратимое шифрование. Так что даже из одного хэша можно получить множество комбинаций...

   
 
 автор: SINtez   (11.08.2005 в 15:23)   письмо автору
 
   для: SINtez   (11.08.2005 в 14:20)
 

господа, прошу прощения я как всегда не правильн овыразил мысль...
я имел в виду следующее:
допустим есть гостевая, она без админки, задача это написать к ней админку и соответственно запоролить её, тоесть чтобы входить смог только чел знаю щий пароль, ну и само собой иметь функцию смены пароля и логина из БД ну ил из другого файла - лишь бы не взломали...

   
 
 автор: SINtez   (11.08.2005 в 15:21)   письмо автору
 
   для: Гость   (11.08.2005 в 14:53)
 

конкретно по данному посту у меня вопрос а как сменить пароль и логин если они захешированы?

   

Сообщения:  [1-10]    [11-20]  [21-24] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования