X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Нужен код защиты админки.
phpuser
phpuser
Topic Starter сообщение 22.4.2010, 21:56; Ответить: phpuser
Сообщение #1


Народ помогите найти простенький код защиты админки желательно работающий без БД (У меня с ней проблемы).
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 22.4.2010, 22:37; Ответить: ZiTosS
Сообщение #2


phpuser, Всё тоже самое, что ты и делал, но вместо проверки данных с БД, сверяй прям в скрипте определенные значения(фиксированные) с веденными. Самый простой вариант.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
phpuser
phpuser
Topic Starter сообщение 22.4.2010, 23:11; Ответить: phpuser
Сообщение #3


А проверку пользователя на то что ввёл он уже пароль или нет организовывать на сессиях да?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
gaaarfild
gaaarfild
сообщение 22.4.2010, 23:25; Ответить: gaaarfild
Сообщение #4


Лучше да.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 22.4.2010, 23:35; Ответить: ZiTosS
Сообщение #5


phpuser, конечно на сессиях, не куки же юзать.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
phpuser
phpuser
Topic Starter сообщение 23.4.2010, 1:57; Ответить: phpuser
Сообщение #6


Выкладываю код моей самой простейшей защиты админки без использования БД. Советуем и улучшаем :rolleyes:

[php]<?php
if (isset($_POST['pass'])) {$pass = $_POST['pass'];}
if (isset($_POST['user'])) {$user = $_POST['user'];}

$hash_pass = md5($pass);
$hash_user = md5($user);

$lock_pass = "09c33dbae155019000672fbf4ed7702f";
$lock_user = "5435cfddc7e1cd3c1d703f230e2113ba";


if ($lock_pass == $hash_pass and $lock_user == $hash_user)
{
session_start();
header("Location: welcome.php");
}
else
{
header("Location: index.php?bad=1");
}
?>[/php]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
gaaarfild
gaaarfild
сообщение 23.4.2010, 10:47; Ответить: gaaarfild
Сообщение #7


[php]if ($lock_pass == $hash_pass and $lock_user == $hash_user)
{
session_start();
header("Location: welcome.php");
$_SESSION['logged'] = 1; // Чтобы потом из страниц проверять, если сужествует данная переменная, значит авторизован. Если нет, то значит нет.
}
else
{
header("Location: index.php?bad=1");
}[/php]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 23.4.2010, 12:23; Ответить: ZiTosS
Сообщение #8


phpuser, немного неверно. А если я обращусь к твоей странице не из формы, а напрямую? Полей user и pass не будет. Догадайся, что мы получим...
Я бы лучше написал так:
[php]<?php

session_start(); // запускать сессии лучше вначале, они никому и ничего не дают, кроме кук или ID-сессии в GET-строке

$user = isset($_POST['user']) ? $_POST['user'] : ""; // если передан логин, то используем его, если он не передан, то пустая строка
$pass = isset($_POST['pass']) ? $_POST['pass'] : ""; // если передан пароль, то используем его, если он не передан, то пустая строка

$user = md5($user); // хеш строки юзера
$pass = md5($pass); // хеш строки пароля

$lock_user = "5435cfddc7e1cd3c1d703f230e2113ba";
$lock_pass = "09c33dbae155019000672fbf4ed7702f";

if ( $lock_pass != $pass || $lock_user != $user )
{
header("location: index.php?bad=1");
exit(); // не забываем завершать исполнение, а то потом получим мифические результаты
}
else
$_SESSION['logged'] = 1;

header("Location: welcome.php");
exit();

?>[/php]
Не забываем затем в файле welcome.php, проверять на существование переменную $_SESSION['logged']. А то будет дырка.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
phpuser
phpuser
Topic Starter сообщение 23.4.2010, 16:17; Ответить: phpuser
Сообщение #9


(ZiTosS @ 23.4.2010, 12:23) *
phpuser, немного неверно. А если я обращусь к твоей странице не из формы, а напрямую? Полей user и pass не будет. Догадайся, что мы получим...

К какой странице ты обращаешься напрямую к welcome?

(ZiTosS @ 23.4.2010, 12:23) *
Не забываем затем в файле welcome.php, проверять на существование переменную $_SESSION['logged']. А то будет дырка.


У меня в файле welcome.php вот такая проверочка была:

[php]<?php
session_start( );
if ($_SESSION['user'] == null || $_SESSION['user'] < 1)
{
header("Location: index.php");
exit;
}
?>[/php]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
gaaarfild
gaaarfild
сообщение 23.4.2010, 16:48; Ответить: gaaarfild
Сообщение #10


У меня в файле welcome.php вот такая проверочка была:

[php]<?php
session_start( );
if ($_SESSION['user'] == null || $_SESSION['user'] < 1)
{
header("Location: index.php");
exit;
}
?>[/php]

Так ты нигде вообще не задал переменную $_SESSION['user']. =)
Как это значение может быть истиной?

А я кстати не вижу дырки по прямому доступу к файлу. Если нет значений $_POST, то они в любом случае не проходят проверку и отправляются опять в index.php.

[php]$user = isset($_POST['user']) ? $_POST['user'] : ""; // если передан логин, то используем его, если он не передан, то пустая строка
$pass = isset($_POST['pass']) ? $_POST['pass'] : ""; // если передан пароль, то используем его, если он не передан, то пустая строка[/php]
И в этой части смысла не вижу. =) Это же как-то по индийски получается. =)

Если POST не пустой, то он равен POST, если пустой, то он пустой! :rolleyes:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Нужен кодер, чтобы пофиксить ошибку Wordpress после переноса сайта
0 Alex-777 844 7.4.2024, 18:05
автор: Alex-777
Открытая тема (нет новых ответов) Нужен исполнитель на постоянную основу для набора небольших текстов
20 Думающий 9286 2.4.2024, 18:05
автор: Думающий
Открытая тема (нет новых ответов) Нужен сайт с автонаполнением по XML
1 REGNET 1223 7.3.2024, 15:08
автор: REGNET
Открытая тема (нет новых ответов) Нужен райтер на постоянку
13 Kiloan_Frost 3416 6.3.2024, 22:24
автор: vitaliraduga
Открытая тема (нет новых ответов) Нужен постинг в твиттер
3 uahomka 1733 20.2.2024, 1:00
автор: robot_yaga2


 



RSS Текстовая версия Сейчас: 19.4.2024, 9:04
Дизайн