Модераторы: 2man

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Пароль на Web-страницу, защита страницы 
:(
    Опции темы
griker
Дата 2.9.2006, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MDMA
**


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

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



Цитата(ElGuapo @ 2.9.2006,  18:16)
griker, позвольте еще немного критики. Ну ладно, правую кнопку вы защитили, но в IE есть пункт меню: Вид -> Просмотр HTML-кода, который весь ваш код прекрасно открывает.

Вы правы, но можно найти более оптимальный вариант smile 
Мы будем использовать PHP, а именно следующим образом:
Главная страница:
Код

<html>
<head>
<style>
#ab {width: 35%; border-style: solid; border-color: #000000; border-width: 1px; padding: 20; text-align: center; font-size: 15pt}
</style>
</head>
<body>
<center>
<div style="margin-top: 100;">
<div id="ab">
<form name="form" action="pass.php" mwthod="GET">
Password: <input type="password" size="20" name="text">
<input type="button" value="Enter" onClick="password()">
</form>
</div>
</div>
</center>
</body>
</html>


Обработчик данной формы:
Код

<?php
if ($_GET['text'] == 12345)
{
header ("Location: http://www.rambler.ru");
}
else
{
echo "Password is not right!";
}
?>



--------------------
I don't respect police
PM MAIL   Вверх
ElGuapo
Дата 3.9.2006, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый
*


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

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



smile Это полумеры 

Страница-то все равно в открытом виде, к чему тогда это все? Тогда уж всю ее и запихнуть в pass.php, а в начале написать:

Код

<?php
if ($_GET['text'] != 12345) 
{
die "Wrong password!";
}
?>

//Дальше идет HTML страницы


И все!

Ой нет, не все! Не GET, конечно, а POST, зачем пароль-то светить!
PM MAIL   Вверх
griker
Дата 3.9.2006, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MDMA
**


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

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



Зачем, поскольку страница(обработчик) написана на PHP, то соответственно код данной страницы не виден, так как этот язык является серверным.
Ранее данные мною коды являются самыми удобнымы и безопасными! smile 


--------------------
I don't respect police
PM MAIL   Вверх
Djuicy
Дата 3.9.2006, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 26.8.2006
Где: планета Земля

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



Большое спасибо, Griker и ElGuapo!

Уважаемый ElGuapo,  вариант Griker'а меня вполне устраивает, т.к. предполагается что ползователи страниц будут не настолько подкованы чтобы додуматься до просмотра кода. smile

Так что на данном этапе все нормально.
Всем учавствовавшим в теме  - большое спасибо!

Добавлено @ 18:55 
Только вот один вопрос: 
куда в теле страницы вставить код обработчика на php?  smile 
PM MAIL ICQ   Вверх
griker
Дата 3.9.2006, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MDMA
**


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

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



Djuicy, вариант с кодом PHP является самым безопасным потому, что данный код(PHP код) - не виден в коде страницы и соответственно в любом случае пользователи вашего сайта не будут располагать возможностью промотреть его smile 

А теперь - как работать с данными скриптами:
Создаёте два файла: pass.htmlи pro.php
Файл pass.html будет содержать форму с запросом пароля. Показываю полный код данной страницы:

pass.html:
Код

<html>
<head>
<style>
#ab {width: 35%; border-style: solid; border-color: #000000; border-width: 1px; padding: 20; text-align: center; font-size: 15pt}
</style>
</head>
<body>
<center>
<div style="margin-top: 100;">
<div id="ab">
<form name="form" method="GET" action="pro.php">
Password: <input type="password" size="20" name="text">
<input type="submit" value="Enter">
</form>
</div>
</div>
</center>
</body>
</html>


Далее - файл pass.php располагает следующим кодом:
pass.php:
Код

<?php
if ($_GET['text'] == 12345)
{
header("Location: index.php")
}
else
{
echo "<center><div style=\"width: 35%; border-style: solid; border-color: #000000; border-width: 1px; padding: 20; text-align: center; font-size: 15pt;\">Password is not right</div></center>";
}
?>


Даю небольшое пояснение странице(сценарию) pro.php:
Код

if ($_GET['text'] == 12345)

Данная строчка, а именно набор цифр 12345 являются паролем и вы задаёте его в соответствии со своими желаниями smile 
Код

header("Location: index.php");

Здесь, а именно index.php определяется страница, открываемая при наборе правельного пароля, вы располагаете менять её(ссылку) в соответствии со своими желаниями smile 

Всё, желаю удачи, если будут вопросы - задавайте! smile 

Это сообщение отредактировал(а) griker - 3.9.2006, 20:34


--------------------
I don't respect police
PM MAIL   Вверх
ElGuapo
Дата 3.9.2006, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый
*


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

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



Коллеги, вы про одно забываете, страница, которую вы пытаетесь укрыть (на которую происходит перенаправ) - она-то в открытом коде! А значит, ее URL можно узнать после того, как пользователь на ней побывал: в журнале посмотреть, на кнопку "назад" понажимать, через плечо у коллеги, наконец smile  И любой потом по адресу ее откроет и увидит.

Так что этот вариант - совсем не безопасный. 

Дело ваше, но технологически эта страница перенаправления (pass.php) совершенно излишняя. Со страницы ввода пароля направляйте прямо на вашу тайную страницу. А в ней, в начале, малюсенький код, который я привел в последнем своем посте. Он проверит пароль, и если неверный, то страницу не покажет. И бесполезно потом набирать ее URL.

Это на одну страницу проще и в сто раз надежнее.


И еще раз громко  smile  повторю: замените вы все свои GET на POST! С точки зрения работы скрипта никакой разницы, только при методе GET у вас в строке адреса браузера будет написано:

Код

http://мой.сайт.ru/pass.php?password=12345


И сохранится эта ссылка в журнале. Зачем вы пароль-то светите?

Это сообщение отредактировал(а) ElGuapo - 3.9.2006, 23:35
PM MAIL   Вверх
Djuicy
Дата 4.9.2006, 00:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 26.8.2006
Где: планета Земля

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



Хорошо, ElGuapo. 
Я обязательно учту все Ваши дополнения.
Спасибо ;)
 smile  smile 
PM MAIL ICQ   Вверх
ewolf
Дата 8.9.2006, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 15.8.2006
Где: г. Москва

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



Возможно, что уже не вовремя, но предлагаю в самом начале страницы (естественно, она должна быть php) разместить такой код:

Код

<?php

$login = 'login'; // Логин
$password = 'password'; // Пароль

if( ($_SERVER['PHP_AUTH_USER'] != $login) || ($_SERVER['PHP_AUTH_PW'] != $password) )
{
   header('WWW-Authenticate: Basic realm="ENTER YOUR LOGIN AND PASSWORD"');
   header('HTTP/1.0 401 Unauthorized');

   die('Вы должны ввести логин и пароль');
}

?>

<html>
Вся страница
</html>

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


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 26.8.2006
Где: планета Земля

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



Уважаемый ewolf, 
А где надо в таком случае прописывать корректный пароль логин? в каком месте кода или файле?
PM MAIL ICQ   Вверх
pythonwin
Дата 30.10.2006, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

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



Djuicy, посмотри этот пример

из темы "Как сделать в JS такое окошко, для входа на страницу HTML"

Это сообщение отредактировал(а) pythonwin - 30.10.2006, 14:06
PM WWW GTalk Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Другие движки / фрейморки | Следующая тема »


 




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


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

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