Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#23 used as offset, casting to integer (23) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#25 used as offset, casting to integer (25) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Как создать закрытый раздел на сайте(PHP+MySQL)? [2]
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


 Страниц (4): « 1 [2] 3 4 »   

> Без описания
Kizim
Отправлено: 16 Апреля, 2008 - 02:40:47
Post Id


Newbie


Покинул форум
Сообщений всего: 12
Дата рег-ции: Апр. 2008  

Карма 0




Ситуация чтоб понятно было:
1) Есть AppServ(Apache+PHP5)
2) Есть MySQL
3) Есть зона сайта которую необходимо защитить

Я хочу:
1) Скрипт состоящий из 2х скриптов. Первый - скрипт защиты, вставляемый на те страницы которые необходимо защитить, с ссылкой на 2й скрипт. 2й скрипт с обозначением базы данных, пароля и логина к ней.
2) 1й скрипт должен проверять пользователя в БД (MySQL) и запоминать его на период всей сессии.
3) Шифтроваться пароли должны md5

Во что надо)
 
 Top
Systemnik Администратор
Отправлено: 16 Апреля, 2008 - 04:48:15
Post Id



ExBB Developer Team


Покинул форум
Сообщений всего: 778
Дата рег-ции: Дек. 2007  

Карма 0




Ха-хагыыы мне лень такое писать))) Радость
Ладн.. соображу че нить.. Подмигивание
PS надеюсь на сервере register_globals = off ?? Растерялся

Чуть подожди напрограммирую..
 
 Top
Kizim
Отправлено: 16 Апреля, 2008 - 04:54:28
Post Id


Newbie


Покинул форум
Сообщений всего: 12
Дата рег-ции: Апр. 2008  

Карма 0




Регистрацию не надо разрешать, нужно чтоб он из базы логины ипароли брал, которые я буду в базу пихать
 
 Top
Furax
Отправлено: 16 Апреля, 2008 - 05:11:45
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




Kizim
Идея такая: в начале каждой страницы проверяем наличие переданных POST-переменных логина и пароля. Если они есть, ищем соответствие в базе, если не найдено - ошибка. Если есть соответствие - заполняем ещё одно поле в базе (временный пароль), которое очистится, скажем, через 10 минут после последнего запроса от этого пользователя. Идентификатор пользователя и временный пароль сохраняем в куках, даём доступ к странице. Можно добавить в базу ещё пару полей - браузер и IP, для повышения стойкости.

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

Если нет и куков - выдаём форму входа и закругляемся.

В принципе, алгоритм простой. не думаю, что с кодированием возникнут проблемы.
 
 Top
Systemnik Администратор
Отправлено: 16 Апреля, 2008 - 05:12:57
Post Id



ExBB Developer Team


Покинул форум
Сообщений всего: 778
Дата рег-ции: Дек. 2007  

Карма 0




Имя скрипта должно быть script.php
а имя конфига config.php

Код файла config.php
CODE:
<?php
$mysql_server = "ваш мускул сервер";
$mysql_user = "ваш мускул юзер";
$mysql_pass = "ваш мускул пасс";
$mysql_dbname = "имя вашей бд";
$mysql_table = "имя таблицы с данными юзеров";
?>

Код файла script.php
CODE:
<?php
include("config.php");
$userlogin = $_POST['userlogin'];
$userpass = md5($_POST['userpass']);
$idcon = @mysql_connect($mysql_server, $mysql_user, $mysql_pass);
@mysql_select_db($mysql_dbname);
if($_POST['page'] == "auth")
{
$sql = @mysql_query("SELECT * FROM `$mysql_table` WHERE `username` = '$userlogin' LIMIT 1");
if(mysql_num_rows($sql) != 0)
{
$userinfo = @mysql_fetch_row($sql);
if($userinfo[1] == $userpass)
{
echo("Вы залогинены");
} else {
echo("Неверный пароль");
}
} else {
echo("Введенный вами пользователь несуществует!!!");
}
@mysql_close($idcon);
}
echo('
<form action="script.php" method="post">
<input name="page" type="hidden" value="auth">
<input name="userlogin" type="text" value="Имя юзера"><br>
<input name="userpass" type="text" value="Пароль"><br>
<input type="submit" value="Проверить">
</form>');
?>


Так на всякий пожарный Дампы таблицы..
CODE:
CREATE TABLE IF NOT EXISTS `script_users` (
`username` varchar(100) character set cp1251 collate cp1251_bin NOT NULL default '',
`userpass` text character set cp1251 collate cp1251_bin NOT NULL,
PRIMARY KEY (`username`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

INSERT INTO `script_users` (`username`, `userpass`) VALUES
('ваш юзер', 'ваш md5');

(Отредактировано автором: 16 Апреля, 2008 - 05:31:36)

 
 Top
Systemnik Администратор
Отправлено: 16 Апреля, 2008 - 05:33:17
Post Id



ExBB Developer Team


Покинул форум
Сообщений всего: 778
Дата рег-ции: Дек. 2007  

Карма 0




Цитата:
Регистрацию не надо разрешат

Какую регистрацию??
 
 Top
Kizim
Отправлено: 16 Апреля, 2008 - 07:14:15
Post Id


Newbie


Покинул форум
Сообщений всего: 12
Дата рег-ции: Апр. 2008  

Карма 0




Вот это тебе спасибо) Последний вопрос - как делать ключи в мд5?)) какой прогой?
 
 Top
Kizim
Отправлено: 16 Апреля, 2008 - 07:28:26
Post Id


Newbie


Покинул форум
Сообщений всего: 12
Дата рег-ции: Апр. 2008  

Карма 0




index.php:
CODE:
<?php

include "script.php";
include "config.php";
$connect = mysql_connect($mysql_server, $mysql_user, $mysql_pass);
if ($connect){
echo "Congratulations!\n<br>";
echo "Successfully connected to MySQL database server.\n<br>";
}else{
$error = mysql_error();
echo "Could not connect to the database. Error = $error.\n<br>";
exit();
}

// Closing connection
$close = mysql_close($connect);
if ($close){
echo "\n<br>";
echo "Now closing the connection...\n<br>";
echo "MySQL connection closed successfully as well.\n<br>";
}else{
echo "There's a problem in closing MySQL connection.\n<br>";
}
exit();
?>


показывает:
CODE:

Ваш логин
пароль
Проверить

Congratulations!
Successfully connected to MySQL database server.

Now closing the connection...
MySQL connection closed successfully as well.


почему он дает доступ дальше? я понять не могу. он по идее же должен тормозиться на script.php пока не введешь логин и парольЖ( жесть нах

(Отредактировано автором: 16 Апреля, 2008 - 07:33:24)

 
 Top
Kizim
Отправлено: 16 Апреля, 2008 - 07:53:40
Post Id


Newbie


Покинул форум
Сообщений всего: 12
Дата рег-ции: Апр. 2008  

Карма 0




index.php поправил так:
CODE:
<?php

include "script.php";
include "config.php";
$authok=0;
if($authok==1)
{
$connect = mysql_connect($mysql_server, $mysql_user, $mysql_pass);
if ($connect){
echo "Congratulations!\n<br>";
echo "Successfully connected to MySQL database server.\n<br>";
}else{
$error = mysql_error();
echo "Could not connect to the database. Error = $error.\n<br>";
exit();
}

// Closing connection
$close = mysql_close($connect);
if ($close){
echo "\n<br>";
echo "Now closing the connection...\n<br>";
echo "MySQL connection closed successfully as well.\n<br>";
}else{
echo "There's a problem in closing MySQL connection.\n<br>";
}
exit();
}
?>


script.php так:
CODE:
<?php
include("config.php");

$userlogin = $_POST['userlogin'];
$userpass = md5($_POST['userpass']);
$idcon = @mysql_connect($mysql_server, $mysql_user, $mysql_pass);
@mysql_select_db($mysql_dbname);
if($_POST['page'] == "auth")
{
$sql = @mysql_query("SELECT * FROM `$mysql_table` WHERE `username` = '$userlogin' LIMIT 1");
if(mysql_num_rows($sql) != 0)
{
$userinfo = @mysql_fetch_row($sql);
if($userinfo[1] == $userpass)
{
echo("Вы залогинены");
$authok = 1;
} else {
echo("Неверный пароль");
}
} else {
echo("Введенный вами пользователь несуществует!!!");
}
@mysql_close($idcon);
}
echo('
<form action="script.php" method="post">
<input name="page" type="hidden" value="auth">
<input name="userlogin" type="text" value="Имя юзера"><br>
<input name="userpass" type="text" value="Пароль"><br>
<input type="submit" value="Проверить">
</form>');
?>


Вроде все норм...
Мож где накосячил

Открыт вопрос про md5 генерацию
 
 Top
Systemnik Администратор
Отправлено: 16 Апреля, 2008 - 08:23:38
Post Id



ExBB Developer Team


Покинул форум
Сообщений всего: 778
Дата рег-ции: Дек. 2007  

Карма 0




Какую md5 генерацию.. я ведь тебе написал куда md5 хеш готовый вставлять...
есть ли хочеш сгенрировать md5 вот тебе линк http://systemnik.alfaspace.net
моя хоум пага.. слева.. есть блок туда вводи любое слово.. и нажми кнопочку скрипт выдаст хеш..
Зы приходи ко мне на форум http://forum.systemnik.alfaspace.net
там тоже че нить спрашивай Ха-ха (реклама - двигатель прогресса Ха-ха )
А если серьезно...
Код файла md5.php
CODE:
<html>
<head>
<title>
md5 hash's generator by Systemnik :)
</title>
</head>
<body>
<form action="md5.php">
<input type="text" name="textomd5" value="Символы">
<input type="submit" value="Сгенерировать">
</form>
<?php
echo(md5($_GET['textomd5']));
?>
</body>
</html>

(Отредактировано автором: 16 Апреля, 2008 - 08:31:50)

 
 Top
Страниц (4): « 1 [2] 3 4 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0, скрытых: 0)
« PHP/Perl »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0466]     [ Gzipped ]