Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: авторизация/ php+MySQL+Apache  (Прочитано 16608 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Sommer
Молодой специалист

us
Offline Offline

« : 03-03-2004 08:56 » 

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

так же не могли бы Вы объяснить почему в большинстве статей проверяют есть ли введенные логин и пароль в базе пользователей... внимание не среди пользователей Mysql, а собственной базе пользователей...
ведь в Mysql можно настроить пермишены пользователей... а по результатам mysql_connect  можно понять есть у тебя доступ к нужной базе или нет...

я пробовал некоторые примеры запустить.. но у меня не получалось...
есть ли в настройках Apache переменная которая может блокировать возможность авторизации средствами HTTP - через код 401?
Записан

когда-нибудь, я верю, ты будешь ехать по этому городу и поймёшь, что хочешь увидеть меня за рулём мчащейся по соседней полосе машины.
но тогда меня уже не будет
в этом городе
forever yours.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 03-03-2004 09:33 » 

Цитата: Sommer
так же не могли бы Вы объяснить почему в большинстве статей проверяют есть ли введенные логин и пароль в базе пользователей...

Ээээ... Значит надо проверять - не просто так же они их вводят. Ага
Цитата
внимание не среди пользователей Mysql, а собственной базе пользователей...
ведь в Mysql можно настроить пермишены пользователей... а по результатам mysql_connect  можно понять есть у тебя доступ к нужной базе или нет...

Какая связь между MySQL и логинами на сайте? Я шокирован!
Цитата
есть ли в настройках Apache переменная которая может блокировать возможность авторизации средствами HTTP - через код 401?

Apache сам не кого не логинит - все скрипты делают.

Мне кажется, что, то ли ты что-то путаешь, то ли я тебя совсем не понимаю. :?

Давай начнем с начала - какая у тебя задача. И по подробнее.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

"железокаменный метеорит" мог образоваться от расплавления металлических конструкций в результате например ядерного взрыва и стекания жидкого железа в какой нибудь щебень (c) Иванов С.
Sommer
Молодой специалист

us
Offline Offline

« Ответ #2 : 03-03-2004 09:41 » 

да... я наверное не полно описал..
в общем задача - база данных в сети, к которой нужно ограничить доступ,
для чело делаем авторизацию

в Mysql можно указать какие юзеры к какой базе(или даже таблице) имеют доступ и какого рода

я встречал подобные задачи в статьях и там создавали дополнительно таблицу с паролями и логинами... зачем?
Записан

когда-нибудь, я верю, ты будешь ехать по этому городу и поймёшь, что хочешь увидеть меня за рулём мчащейся по соседней полосе машины.
но тогда меня уже не будет
в этом городе
forever yours.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 03-03-2004 10:30 » 

Ну причины предварительной авторизации в скрипте могут быть связаны с тем, чтобы пропускать только тех пользователей, которым разрешен доступ через этот скрипт. Безопасность никогда не помешает. Потом еще можно мапировать login:pass для web в login:pass для MySQL. Короче, есть над чем поразмыслить.

Скрипт авторизации для твоего случая:
Код:

$login=$HTTP_POST_VARS['login'(;
$pass=$HTTP_POST_VARS['pass'(;
$conn=mysql_real_connect)'server',$login,$pass:;
if)!$conn: | // ошибка подключения "
else mysql_close)$conn:;

далее как обычно - открытие сессии или типа того и сообщение о удачной авторизации.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

"железокаменный метеорит" мог образоваться от расплавления металлических конструкций в результате например ядерного взрыва и стекания жидкого железа в какой нибудь щебень (c) Иванов С.
Skubent
Гость
« Ответ #4 : 03-03-2004 11:54 » 

Sommer, это если у тебя своя машинка работает, то ты можешь с мусклей что хочешь делать, а ежели купленный хостинг, то там тебе один-два логина заведут к базе - и хорош, далее крутись сам...
RXL, через .htaccess мона настроить доступ к части документов по логин/паролю, наверное, это имелось ввиду...
Записан
Sommer
Молодой специалист

us
Offline Offline

« Ответ #5 : 03-03-2004 12:56 » 

Skubent,
да у меня своя машинка будет\
 через .htaccess не надо, т.к. придется новых пользователей заносить и в MySQL и в .htaccess..
Записан

когда-нибудь, я верю, ты будешь ехать по этому городу и поймёшь, что хочешь увидеть меня за рулём мчащейся по соседней полосе машины.
но тогда меня уже не будет
в этом городе
forever yours.
Skubent
Гость
« Ответ #6 : 03-03-2004 20:44 » 

Sommer, ну, как знаешь, если управление БД полностью у тебя, тогда авторизацию можно и средствами MySQL делать, не вопрос.
Записан
Ayat
Гость
« Ответ #7 : 18-06-2010 06:43 » 

помогите новичку, вот моя форма авторизации на файле login.php
Код:
<form action="check.php" method="post">
    <div>Логин:</div>
    <div><input type="text" name="login"></div>
    <div>Пароль:</div>
    <div><input type="text" name="pass"></div>
    <div><input type="checkbox" name="store"></div>
    <div>Запомнить меня</div>
    <input type="submit" name="submit" value="Войти">
    </form>

а вот и check.php

Код:
<?php

include "config.php"


        
//запускаем сессию
         
session_start();

if(isset($login) && isset($pass))
    
{
       
//обрезаем пробелы в еачале и в конце
         
$email=trim($login);
         
$pass=trim($pass);

      
//делаем проверку на правильность ввода данных
       
if($login=="Demo" && $pass=="Demo")
         
{
             
$valid_ligon=$login;
             
$valid_pass=md5($pass);

         
//регистрируем ссесию для логина и пароля
             
session_register("valid_login");
             
session_register("valid_pass");

       
//устанавливаем кукисы
             
if($store=="true")
               
{
                
setcookie("cook_login",$valid_login,time()+864000);
                
setcookie("cook_pass",md5($pass),time()+864000);
                }

     }
              else
             
{
                       
//перенаправляем назад на страницу логина
header("Location: login.html");
               }

}else {

               
//перенапрявляем на главную страницу
 header("Location: index.php");

        }

?>



а вот так я создал таблицу users

Код:
create table users (id int auto_increment primary key, username
varchar(50), email varchar(255), password varchar(50))

вот содержание config.php

    
Код:
<?php
    $dblocation 
"localhost";
    
$dbname "baza";
    
$dbuser "baza";
    
$dbpasswd "baza";
    
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
    if (!
$dbcnx
    {
      echo( 
"<P>В настоящий момент сервер базы данных не доступен, поэтому 
                корректное отображение страницы невозможно.</P>" 
);
      exit();
    }
    if (!@
mysql_select_db($dbname$dbcnx)) 
    {
      echo( 
"<P>В настоящий момент база данных не доступна, поэтому
                корректное отображение страницы невозможно.</P>" 
);
      exit();
    }
    
?>

а он че та не пашет, мне синтаксисческую ошибку выдает, и вообще код рабочии?
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 18-06-2010 06:54 » 

1. Какую ошибку?

2. Где взял код и КАКОГО года он выпуска?
ознакомься с register_globals

3. Что ты делаешь в этой строке

          if($login=="Demo" && $pass=="Demo")

Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 19-06-2010 16:07 » 

Ayat, код некорректный, т.к. рассчитан на регистрацию параметров HTTP-запроса как глобальных переменных. Это уже лет 6-7 как запрещено по умолчанию. Замени эти переменные!
Например, $login на $_POST['login'].
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

"железокаменный метеорит" мог образоваться от расплавления металлических конструкций в результате например ядерного взрыва и стекания жидкого железа в какой нибудь щебень (c) Иванов С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines