Авторизация на php - Веб-программирование | MMGP
Присоединяйтесь к нашему инвестиционному форуму, на котором уже 435,179 пользователей. Чтобы получить доступ ко многим закрытым разделам и начать общение -  .
Все, что относится к Web-Программированию (PHP, Perl, JavaScript, MySQL, XML и т.д.)
При поддержке
Сеть доставки контента, выбранная космическими агентствами
Важная информация
Есть опыт работы с криптовалютами? Заведи Крипто-Блог и заработай на нём!
Торгуешь криптовалютой? Оставь свой отзыв о бирже!
Разбираешься в криптовалюте? Прими участие в акции Крипторайтер 2.0 (2-10 поинтов за 1000 символов)
Изменения в акции "Оплата за сообщения".
Как на одной публикации заработать $100
Ответить
 
Первый пост Опции темы
Сообщения прочитаны и/или просмотрены Сегодня, 19:26
Старый 19.08.2011, 20:39
#1
Любитель
 
Имя: Захар
Пол: Мужской
Регистрация: 08.02.2011
Сообщений: 359
Благодарностей: 149
УГ: 0
КП: 0.140
Авторизация на php

Добрый день! Возникли трудности следующего характера:
У меня есть страница, которая, с помощью php, вытягивает пару столбиков из MySQL и отображает их в браузере. Мне надо сделать так, что бы эту страницу видел только я. Как я понимаю, мне надо создать ещё одну страницу с авторизацией, и, при правильно введённых данных в эту форму, она отправляет меня на нужную мне страницу.
Каким образом это реализовать? Только надо учесть ещё то, что без авторизации человек не может перейти на нужную страницу, путём грубого вбивания её адреса в адресную строку браузера.

Буду очень благодарен за любую помощь. Спасибо.
zlkifl вне форума  
Старый 19.08.2011, 22:34
#2
Топ Мастер
 
Пол: Мужской
Регистрация: 25.09.2007
Сообщений: 7,026
Благодарностей: 1,345
УГ: 0
КП: 0.117
награды Волшебный горшочек Ветеран MMGP.RU 
Re: Авторизация на php

Вот Вам самый простой, наверное, вариант парольной защиты...
Ввели правильный пароль - попали на страницу, не ввели - получили ошибку..
PHP код:
<?php
function authenticate() 
{
    
header('WWW-Authenticate: Basic realm="Какой-то заголовок"');
    
header('HTTP/1.0 401 Unauthorized');
    echo(
'А вот и не угадали...');
    die();
}

$pass "SuperSecretPassword";
if (!isset(
$_SERVER['PHP_AUTH_PW']) || ($_SERVER['PHP_AUTH_PW'] != $pass)) 
{
    
authenticate();

else 
{
  
$url 'http://секретная страница.php';
  
// Перенаправляем на нужную страницу
  
header('Location: '.$url);
}
?>
Senator2 вне форума  
Сказали спасибо:
zlkifl (20.08.2011)
Старый 21.08.2011, 00:03
#3
Любитель
 
Имя: Захар
Пол: Мужской
Регистрация: 08.02.2011
Сообщений: 359
Благодарностей: 149
УГ: 0
КП: 0.140
Автор темы Re: Авторизация на php

Спасибо, но что будет если нужный адрес (который мне и надо защитить) вбить напрямик в адресную строку браузера? Человек сразу попадёт на эту страницу, и ничего вводить ему не потребуется, так?

Но если, допустим, таким образом и поступить. Тогда ещё вопрос: есть возможность каким-то образом "ненужному" человеку узнать этот "секретный" адрес, если он нигде светиться не будет?
zlkifl вне форума  
Старый 21.08.2011, 15:04
#4
Топ Мастер
 
Пол: Мужской
Регистрация: 25.09.2007
Сообщений: 7,026
Благодарностей: 1,345
УГ: 0
КП: 0.117
награды Волшебный горшочек Ветеран MMGP.RU 
Re: Авторизация на php

Цитата:
Сообщение от zlkifl Посмотреть сообщение
Спасибо, но что будет если нужный адрес (который мне и надо защитить) вбить напрямик в адресную строку браузера? Человек сразу попадёт на эту страницу, и ничего вводить ему не потребуется, так?

Но если, допустим, таким образом и поступить. Тогда ещё вопрос: есть возможность каким-то образом "ненужному" человеку узнать этот "секретный" адрес, если он нигде светиться не будет?
Так можно ведь не редирект делать, а сразу вписать код страницы, которую Вы хотите видеть...
Т.е. - вот там, внутри else, и пишите сразу то что Вы хотите видеть при вводе правильного пароля..
PHP код:
<?php
function authenticate() 
{
    
header('WWW-Authenticate: Basic realm="Какой-то заголовок"');
    
header('HTTP/1.0 401 Unauthorized');
    echo(
'А вот и не угадали...');
    die();
}

$pass "SuperSecretPassword";
if (!isset(
$_SERVER['PHP_AUTH_PW']) || ($_SERVER['PHP_AUTH_PW'] != $pass)) 
{
    
authenticate();

else 
{
 
// пишем здесь код, который вытягивает нужные данные из MySQL и показывает их нам.
}
?>

Последний раз редактировалось Senator2; 21.08.2011 в 15:07.
Senator2 вне форума  
Сказали спасибо 2 раз(а):
Greg144 (21.08.2011), zlkifl (21.08.2011)
Старый 21.08.2011, 15:20
#5
Профессионал
 
Пол: Мужской
Регистрация: 22.01.2010
Сообщений: 930
Благодарностей: 541
УГ: 0
КП: 0.000
Re: Авторизация на php

PHP код:
<?php 
$pass 
"SuperSecretPassword";
if (!isset(
$_POST['password']) || ($_POST['password'] != $pass))  
{
echo 
'<form method="POST">Пасс? <input name="password" type="password"><input name="submit" type="submit"></form>';
}
else
{
include 
"security_page.php";
//или
//echo 'полный код страницы';
// в этом случае следите за скобками "" и '' в коде html
}
?>
upd: пока я тут писал шедевр - сенатор уже накатал пост)

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

PS: логин в случае сенатора любой канает...

добавлено через 9 минут
Цитата:
Сообщение от zlkifl Посмотреть сообщение
Тогда ещё вопрос: есть возможность каким-то образом "ненужному" человеку узнать этот "секретный" адрес, если он нигде светиться не будет?
Да, если это хостер, и скрипты не зазендены. Хотя и зазенденные скрипты можно дезендить. Это зависит от цены вопроса и порядочности хостера.

Последний раз редактировалось Greg144; 21.08.2011 в 15:31. Причина: Добавлено сообщение
Greg144 вне форума  
Сказали спасибо:
zlkifl (21.08.2011)
Старый 21.08.2011, 15:45
#6
Любитель
 
Имя: Станислав
Пол: Мужской
Инвестирую в: Свой бизнес
Регистрация: 17.06.2010
Сообщений: 136
Благодарностей: 12
УГ: 0
КП: 0.016
Re: Авторизация на php

Че парится, просто сессии используй и все
Страница авторизации auth.php:
PHP код:
<?php
  session_start
();
  
//код доступа
  
$secret_key "keysecret";
 if(
$_SESSION['file']){
     
header("Location: secure.php");
 }else{
 
?>
 <form  method="post">
 Пароль доступа: <input name="key" type="password" /><br />
 <input type="submit" value="Вход" style="border:1px solid;" name="button"/>
</form>
<?php
 
}
 if(!empty(
$_POST)){
     
$key htmlspecialchars($_POST['key']);
     if(
$key === $secret_key){
         
$_SESSION['file'] = $key;
         echo 
"Вы успешно вошли<br />";
        echo 
"Перейти на секретную страницу: <a href='secure.php'>Перейти</a>";
     }else
         die(
"Ошибка авторизации");
 }
 else
     return 
false;
?>
А секретную страницу назовем secure.php
PHP код:
<?php
session_start
();
if(!
$_SESSION['file'])
     die(
'Вы не авторизированны, доступ на данную страницу вам закрыт');
else
    
//Текст страницы секретной
    
echo "<h1><center>Ура, вы попали в секретный раздел!!!</center></h1>";
?>
Теперь даже если юзер узнает имя секретной страницы, попасть на нее он не сможет)
mzcoding вне форума  
Сказали спасибо:
zlkifl (21.08.2011)
Старый 21.08.2011, 19:08
#7
Любитель
 
Имя: Захар
Пол: Мужской
Регистрация: 08.02.2011
Сообщений: 359
Благодарностей: 149
УГ: 0
КП: 0.140
Автор темы Re: Авторизация на php

Спасибо огромное всем за помощь!
Цитата:
Сообщение от Greg144 Посмотреть сообщение
Да, если это хостер, и скрипты не зазендены. Хотя и зазенденные скрипты можно дезендить. Это зависит от цены вопроса и порядочности хостера.
Что значит "зазендены"?
zlkifl вне форума  
Старый 21.08.2011, 23:00
#8
Любитель
 
Пол: Мужской
Адрес: Киев
Инвестирую в: Свой бизнес
Регистрация: 17.05.2007
Сообщений: 752
Благодарностей: 87
УГ: 0
КП: 0.152
Re: Авторизация на php

можно на странице обработки логина добавить переменную(любую), а на странице, на которой будет авторизация - сделать проверку, если эта переменная будет равна 1 - выводить информацию, если 0 - не выводить!
OrlandO вне форума  
Сказали спасибо:
zlkifl (22.08.2011)
Ответить
Метки
php, авторизация
Войдите, чтобы оставить комментарий.
Сообщения прочитаны и/или просмотрены Сегодня, 19:26
Опции темы

Быстрый переход


Случайные темы
Аватар Дмитрий Логачев
TTRION.COM
От Дмитрий Логачев в разделе «Архив: Список проблемных/неактивных/закрытых программ»
Аватара нет
Безрисковая система на лошадок
От onlyfwd в разделе «Системы и стратегии»
Аватара нет
Тренажер для повышения грамотности письма
От tarantac в разделе «Копирайтинг»
Аватар tiu-bik
Стратегия ставок на баскетбол тотал в четверти
От tiu-bik в разделе «Системы и стратегии»
Аватар all-hyips
InvestCrypto - investcrypto.cc
От all-hyips в разделе «Архив: Список проблемных/неактивных/закрытых программ»
Аватар OPLOTT
Россия: как зарабатываются миллионы
От OPLOTT в разделе «Новости в мире финансов и инвестиций»
.     
Пользователей
435,179
Тем
505,026
Сообщений
12,680,482

mmgp.telegram