Jump to content
  • 0

Формы Логин, Пароль и переадресация на конкретную страницу


Boron
 Share

Question

Здравствуйте! Если честно не расчитываю, что кто-то поможет (не знаю сложности скрипта), но все-таки:

В общем хотел попросить помочь найти скрипт (а может кто и возьмется его написать).

Задача такая:

На домашней странице будет располагаться две формы: "Логин" и "Пароль".

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

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

P.S. MySQL на сервере есть, но я ни разу не видел структуру этого файла и не знаю - смогу ли я его редактировать в ручную.

P.P.S. Насколько безопасно хранить файл с логином и паролем на сервере? В смысле можно ли как-то получить к нему доступ? (просто очень важно, чтобы пользователь не смог получить доступ к чужой странице).

P.P.P.S. На губозакатывалку нету денег :)

:)

Link to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 0

хм... когда у нас началась эпидемия паранойи, накатал такую примитивную хреновинку и выложил для тестирования желающими: http://denton.msk.ru/tmp/guestlogin/

разные пассы для разных людей (в примере три):

lHy154WCaysBmNI

A47ZY7z8zHsPUih

tF6y6YtZpKCHkOJ

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

Link to comment
Share on other sites

  • 0

угу, пустая. не хотел заморачиваться лишним текстом.

сорри за возможные ошибки, сейчас на лету правил

index.php

<?php
Header('Expires: Mon, 1 Jul 2000 05:00:00 GMT');
Header('Cache-Control: no-cache, must-revalidate');
Header('Pragma: no-cache');
Header('Last-Modified: '.gmdate("D, d M Y H:i:s").'GMT');
if (!require('config/pwd.php');) {echo('<span class="r">pwd</span>');
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<title>D&C Login Form</title>
<link rel="stylesheet" href="http://denton.msk.ru/tech/css/general.css" type="text/css" media="screen" />
<link rel="stylesheet" href="http://denton.msk.ru/tech/css/library.css" type="text/css" media="screen" />
</head>
<body background="http://static.the-game.ru/img/pageback6.jpg">
<?php
if (!isset($_POST['password'])) {
?>

<!-- здесь рисуем форму логина с method=post action=index.php и инпутом name=password -->


<?php
}
else {

include($pwd[$_POST['password]']);

}
?>
</body>
</html>

pwd.php

<?php
$pwd = array(
'A47ZY7z8zHsPUih' => 'inc/1.xxx',
'tF6y6YtZpKCHkOJ' => 'inc/2.xxx',
'lHy154WCaysBmNI' => 'full.xxx'
);
?>

ну у меня там еще login.php есть, на который как раз отсылают формы из инклюдящихся файлов, только тебе оно наверно лишнее будет

Link to comment
Share on other sites

  • 0

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

http://denton.msk.ru/tech/DCguestlogin/ с паролем например Hus4g5GdA1BX

1. класс M напрочь игнорируется - красного цвета нет, хотя не понимаю что может быть неправильного в строке .M {color:#ff0000;}

2. body,td {font-size:14pt;} не работает (это помню было дело всегда, как правило обходил дополнительным фонтом или спаном, к которому уже применял) но вдруг есть другое решение?

(на глюк УТФ->вин-1251 не обращайте внимания, лень было менять .htaccess)

Link to comment
Share on other sites

  • 0
поменял на вин-1251 все гуд.

не понял.... в ИЕ при попытке смены кодировки он же ругается что страница устарела и хочет снова передать пасс. в результате снова открывается в кодировке УТФ. а в других браузерах проблем и не было

Link to comment
Share on other sites

  • 0

Я конечно не в тему но ты немог бы обьяснить почему это проблема с кодировкой существеут а то у меня почему то на одной странице тоже такое случилось а на всех остальных все окей

Link to comment
Share on other sites

  • 0

ну дело в настройках апача, он в зависимости от httpd.conf либо перекодирует, либо нет. как правило у хостеров перекодировка включена и поэтому в папках где глюкает надо прописать в файле .htaccess директиву AddDefaultCharset (подробнее - htaccess.net.ru)

Link to comment
Share on other sites

  • 0
ну дело в настройках апача, он в зависимости от httpd.conf либо перекодирует, либо нет. как правило у хостеров перекодировка включена и поэтому в папках где глюкает надо прописать в файле .htaccess директиву AddDefaultCharset (подробнее - htaccess.net.ru)

У меня опера и ссылка не работает.

Link to comment
Share on other sites

  • 0

Пожалуйста, объясните, как сделать так, чтобы при вводе неправильного пароля, в файле login.php отображалось содержимое файла wrong.txt.

В общем, так как D.S.Denton не против, публикую готовый код страниц с объяснениями. (Огромное ему спасибо, за то, что помог отредактировать в нем опечатки, что потратил свое время и финансы на общение в ICQ) :)

Итак:

index.php (содержит в себе форму для ввода пароля). При нажатии на кнопку "зайти", осуществляется переход на страницу "login.php, в котором и будет отображаться информация для каждого введеного пароля

<?php
header('Expires: Mon, 1 Jul 2000 05:00:00 GMT');
header('Cache-Control: no-cache, must-revalidate');
header('Pragma: no-cache');
header('Last-Modified: '.gmdate("D, d M Y H:i:s").'GMT');
if (!include_once('pwd.php')) {echo('Файл pwd не найден');}
?>

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<body>

<form action="login.php" method="post">
<input name="password" value="" type="password" />
<input type="submit" value="зайти" tabindex="3" />
</form>

</body>
</html>

pwd.php (содержит в себе информацию о паролях и информацию о файлах, которые будут загружаться на странице login.php при вводе каждого пароля). В примере файл первого пароля находится в каталоге "content", файл второго пароля находится в корневой папке.

<?php
$pwd = array(
'pass1' => 'content/document1.htm',
'pass2' => 'document2.htm',
)
?>

login.php, на этой странице, между PHP кодом и будет отображаться содержимое фалов document1.htm и document2.htm

<?php
header('Expires: Mon, 1 Jul 2000 05:00:00 GMT');
header('Cache-Control: no-cache, must-revalidate');
header('Pragma: no-cache');
header('Last-Modified: '.gmdate("D, d M Y H:i:s").'GMT');
if (!include_once('pwd.php')) {echo('Файл pwd не найден');}
?>

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<body>

<?php
if (!isset($_POST['password'])) {
?>

МЕЖДУ ЭТИМ КОДОМ И БУДЕТ ОТОБРАЖАТЬСЯ ИНФОРМАЦИЯ ИЗ ФАЙЛОВ DOCUMENT1.HTM ИЛИ DOCUMENT2.HTM

<?php
}
else {
include($pwd[$_POST['password']]);
}
?>

</body>
</html>

document1.htm (содержится в папке "content"). Собственно это и есть содержимое, которое будет отображаться при вводе первого пароля Расширение файла значения не имеет.

<b>Данный документ содержит информацию для пароля pass1</b>

document2.htm (содержится в папке "content"). Собственно это и есть содержимое, которое будет отображаться при вводе первого второго Расширение файла значения не имеет.

<i>Данный документ содержит информацию для пароля pass2</i>

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy