Loading...
Помощь по скриптам | Укажите на ошибку!
Добрый вечер мастерам. Прошу помощи в подсказке реально ли такое реализовать??

Есть файл в котором бы хотелось сделать что если вход в файл делает $member_id['user_group'] =1 который авторизован в админке то ему открывать доступ всегда к файлу. В ином случае вывести форму авторизации и если человек введёт пару логин пароль (которые будут находится в данном файле) верными то открыть ему доступ также.

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

Вот то что смог сотворить.

<?php
/*
=====================================================
DataLife Engine - by SoftNews Media Group
-----------------------------------------------------
http://dle-news.ru/
-----------------------------------------------------
Copyright (c) 2004-2017 SoftNews Media Group
=====================================================
Данный код защищен авторскими правами
=====================================================
Файл: admin.php
-----------------------------------------------------
Назначение: админпанель
=====================================================
*/

@ob_start();
@ob_implicit_flush(0);

@error_reporting ( E_ALL ^ E_WARNING ^ E_DEPRECATED ^ E_NOTICE );
@ini_set ( 'error_reporting', E_ALL ^ E_WARNING ^ E_DEPRECATED ^ E_NOTICE );

define ( 'DATALIFEENGINE', true );
define ( 'ROOT_DIR', dirname ( __FILE__ ) );
define ( 'ENGINE_DIR', ROOT_DIR . '/engine' );
session_start();
$admin = 'admin';
$pass = 'e10adc3949ba59abbe56e057f20f883e';

if($_POST['submite']){
if($admin == $_POST['used'] AND $pass == md5($_POST['passq'])){
//$_SESSION['admin'] = $admin;
exit;
}
}
//#################
$check_referer = true;
//#################
require_once (ENGINE_DIR . '/inc/include/init.php');
if ($is_loged_in == false AND $_SESSION['admin'] = $admin) {
echo 'Увы вы не админ, введите пару логин пароль для получения доступа к файлу';
?>
<form method="post">
Username: <input type="text" name="used" /><br />
Password: <input type="password" name="passq" /><br />
<input type="submit" name="submite" value="Войти" />
</form>
<?

exit ();

} elseif ($is_loged_in == true AND $_SESSION['admin'] == $admin) {
echo "вы админ";
}

?>
P/s делается все на DLE файл будет находится в корне сайта.
99510869 (07.11.2017 в 00:28)
Вот что пытался сотворить но ничего что-то не выходит у меня, может кто-то поможет в реализации? Заранее спасибо всем за помощь.

что именно не выходит?
Avenax , Если выхожу с админки из под своего профиля, и пытаюсь получить доступ к данному файлу введя в поля верные данные, то выбивает пустой экран. Если вхожу в админке под своими данными и перехожу по адресу данного файла то все норм.
99510869 ,
попробуй
https://pastebin.com/UxTQW9f3
________
посл. ред. 07.11.2017 в 01:09; всего 1 раз(а); by Avenax
Avenax , Да да да то что нужно, спасибо вам большое, кому не пробовал объяснить чего хочу добиться все без толку,а вы сразу уловили суть. А можно еще вопросик??
99510869 (07.11.2017 в 01:28)
Avenax , Да да да то что нужно, спасибо вам большое, кому не пробовал объяснить чего хочу добиться все без толку,а вы сразу уловили суть. А можно еще вопросик??

пожалуйста, можно конечно
Avenax , А можно как-то сделать еще такое:

Вот к примеру данной функцией вычесляю с какого домена пришел запрос

$server = $_SERVER['SERVER_NAME'] ;

$f = 'parser.com';


if ($server == $f){
//Если пришел запрос с данного домена то одна пара логина и пароля должна срабатывать

}

А если к примеру с этого домена то другая пара пароль логин

$server = $_SERVER['SERVER_NAME'] ;

$f = 'gfhu.com';


if ($server == $f){
//Если с этого то другая пара логин пароль

}


Я примерно понимаю что нужно делать что-то типа этого

$server = $_SERVER['SERVER_NAME'] ;

$f = 'parser.com';


if ($server == $f){
require_once(ENGINE_DIR . '/inc/include/init.php');

if (!isset($_SESSION['admins']) || $_SESSION['admins'] != $admins) {
echo 'Увы вы не админ, введите пару логин пароль для получения доступа к файлу';
?>

<form method="post">
Username: <label><input type="text" name="users"/></label><br/>
Password: <label><input type="password" name="passwords"/></label><br/>
<input type="submit" name="submits" value="Войти"/>
</form>

<?php
exit ();

} elseif (isset($_SESSION['admins']) && $_SESSION['admins'] == $admins) {
Выполняем наш скрипт
echo '<a href="primer.php?do=logout">Выход</a>';
}

}



А вверху уже обрабатывать данные на пустоту и правду. Верно или так не выйдет???
99510869 , можно, только нужно использовать $_SERVER[' HTTP_REFERER']
Avenax , Ясно, рано я обрадовался насчёт этого заметил что когда выхожу из админки из под своего профиля, а потом снова вхожу и перехожу к файлу то мне вылазить форма ввода, чего я и хотел избавиться, но наверное так не получится.
99510869 (07.11.2017 в 02:25)
Avenax , Ясно, рано я обрадовался насчёт этого заметил что когда выхожу из админки из под своего профиля, а потом снова вхожу и перехожу к файлу то мне вылазить форма ввода, чего я и хотел избавиться, но наверное так не получится.

При выходе из профиля, сбрасываются сессии, видимо

Можно прикрепить админку к ид профиля например, и не нужно, каждый раз вводить логин-пароль
Онлайн: 7
Время:
Gen. 0.1518
(c) Bym.Guru 2010-2026