Создать ответ 
Вход в админку по логину и паролю
Автор Сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #31
RE: Вход в админку по логину и паролю
Видимо где-то ранее я ошибся (скорее всего не удалил из .htpasswd лишний хеш пароль) и ненамеренно ввел Вас в заблуждение, т.к. приведенный мною ранее код генерирует неверные пароли.

У меня на хостинге пароли для .htpasswd генерирует хостер и длина у них 13 символов.

Но, например, на локалке, при генерировании хешей паролей при помощи:
PHP код:
<?php
$log
='ale10ey';
$pass='ye01ela';
$res=trim(shell_exec('htpasswd -nmb '.$log.' '.$pass));
var_dump($res);
?>

генерируется хеш пароля длинною 37 символов (файл htpasswd.exe должен лежать в той же папке что и файл с данным кодом).
Так вот этот 37 символьный пароль принимается хостингом.
17.11.2016 16:53:22
Найти все сообщения Цитировать это сообщение
ale10ey Не на форуме
Генерал-лейтенант
*

Сообщений: 352
У нас с: Nov 2014
Сообщение: #32
RE: Вход в админку по логину и паролю
Цитата:При генерировании хешей паролей при помощи:
PHP код:
<?php
$log
='ale10ey';
$pass='ye01ela';
$res=trim(shell_exec('htpasswd -nmb '.$log.' '.$pass));
var_dump($res);
?>

генерируется хеш пароля длинною 37 символов (файл htpasswd.exe должен лежать в той же папке что и файл с данным кодом).

Здравствуйте, проверил в работе - не работает.

1. Данный код:
PHP код:
<?php
$log
='ale10ey';
$pass='ye01ela';
$res=trim(shell_exec('htpasswd -nmb '.$log.' '.$pass));
var_dump($res);
?>
находится в файле test.php, который каждый раз при обновлении страницы разный,
Код:
string(45) "ale10ey:$apr1$MnfSmZ1J$B3RULKFhRwga9qn/MRwDw1"
Код:
string(45) "ale10ey:$apr1$eZQbYctV$PzpwJQdbVsLVB16ajUKYZ/"
Код:
string(45) "ale10ey:$apr1$c50YSWPr$ixnfXHClhycWeOzVXxkmh0"
и т.д.
в файл htpasswd имеется строчка:
Цитата:ale10ey:$apr1$MnfSmZ1J$B3RULKFhRwga9qn/MRwDw1

2. При обращению к файлу test.php с кодом выдается поле, но как и ранее поля обнуляются и перехода на страницу нет.
Может сейчас проблема в том, что каждый раз пароль разный при обновлении страницы test.php.
На всякий случай архив, где можно все наглядно посмотреть.

.rar  admin.rar (Размер: 532 байт / Загрузок: 1)

3. Получается, что 37-значный пароль не помогает решить проблему.
Вы можете данную папку проверить на локальном сервере и посмотреть как работает и где косяк, почему нет доступа к папке. Scratch

Просто уже столько времени мы затратили на решение этой проблемы, хотелось бы "добить" и понять, где причина.
Данная папка admin находится в корне + 3 файла в ней (.htacess, .htpasswd и text.php)
17.11.2016 22:21:47
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #33
RE: Вход в админку по логину и паролю
Могу проверять только на хостинге...

Со строчкой ale10ey:$apr1$MnfSmZ1J$B3RULKFhRwga9qn/MRwDw1 все работает, логин и пароль принимает.

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


P.S. Замените "require valid-ale10ey" на "require valid-user"!!!
17.11.2016 22:33:03
Найти все сообщения Цитировать это сообщение
ale10ey Не на форуме
Генерал-лейтенант
*

Сообщений: 352
У нас с: Nov 2014
Сообщение: #34
RE: Вход в админку по логину и паролю
Цитата:Замените "require valid-ale10ey" на "require valid-user"
Здравствуйте, теперь выдается сообщение,
[Изображение: tid_396_2.png]

Цитата:Эта проблема может возникать при отключении или запрещении принятия кук
Это может быть проблемой ?

P.S.: Все разобрался Blush Ok, спасибо вам за терпение.
Завтра отпишусь, еще не до конца все проверил...
(Последний раз сообщение было отредактировано 17.11.2016 в 23:48:33, отредактировал пользователь ale10ey.)
17.11.2016 22:53:12
Найти все сообщения Цитировать это сообщение
ale10ey Не на форуме
Генерал-лейтенант
*

Сообщений: 352
У нас с: Nov 2014
Сообщение: #35
RE: Вход в админку по логину и паролю
Здравствуйте, проверил в работе.

1. Если напрямую обращаться к файлу, который лежит в папке admin (site.ru/admin/test.php) то все нормально, если использую 37-значный пароль, с 13-значным несколько раз было нормально, потом доступа не стало Be, с чем проблема связана не знаю, с 37-значным все нормально при любом раскладе.
Вы говорили, что на хостинге используете 13-значный пароль, наверно еще зависит и от хостинга ?
В общем если напрямую обращаться к файлу используя 37-значный пароль все OK

2. Если обращаться только к папке admin и ввести неправильные проверочные данные, то появится ошибка 401 "Authentication required!", т.е. тут все нормально.
Если ввести правильные данные, то появляется окно
[Изображение: tid_396_2.png]

так и должно быть или что-то тут не так ? получается, все что находится в папке admin включая саму папку находится под защитой и если ввести неправильные данные, то появляется ошибка, а если правильные то происходит "Неверное перенаправление на странице"

Если обращаться к файлу, все нормально - ввели данные правильно, открылся файл test.php, а если нет - ошибка 401.

3. Когда сайт будет на хостинге, то меняем полный путь для AuthUserFile
Код:
AuthUserFile D:/Site/OpenServer/domains/site.net/www/admin/.htpasswd
Это можно сделать также, как и на локалке с помощью phpinfo, чтобы узнать полный путь до папки или как-то по другому ?

Заранее благодарен Yes
18.11.2016 12:51:33
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #36
RE: Вход в админку по логину и паролю
1. От хостинга естественно тоже зависит, точнее от того, как его настроили.

2. Думаю, что где-то в настройках (возможно даже в корневом .htacess), стоит перенаправление с несуществующих страничек на страничку 404 или index, а так как их в папке тоже нет, то перенаправление зацикливается. Но, это только мое предположение.

3. Да, либо через echo $_SERVER['DOCUMENT_ROOT'];
18.11.2016 13:16:34
Найти все сообщения Цитировать это сообщение
ale10ey Не на форуме
Генерал-лейтенант
*

Сообщений: 352
У нас с: Nov 2014
Сообщение: #37
RE: Вход в админку по логину и паролю
Здравствуйте, кстати в htacess можно прописать
Цитата:require valid-user
- Доступ всем пользователям, прошедшим авторизацию
Цитата:require user ale10ey
- Доступ только пользователям ale10ey, в моем случае

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

P.S. 2 или 3 раза получилось, что 13-значный пароль тоже работал, а потом перестал работать, везде прописал user (htaccess, htpasswd и при вычислении 13-значного кода) и вуаля у меня при введении логина (user) и пароля (ye01ela) страница открылась и так несколько раз, я было уж думал все заработало, а через некоторое время попробовал и доступа к странице не стало.
Естественно при проверке я каждый раз обнулял кэш, чтобы заново проверять пароль, но не думаю что это проблема.
С 37-значным все OK, обнуляю или нет кэш все OK.
18.11.2016 16:55:33
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #38
RE: Вход в админку по логину и паролю
На хостинге, возможно, будет специальная вкладка в панели управления для генерации и создания файлов .htaccess и .htpasswd для паролирования папок. Тут заранее не угадать.
18.11.2016 19:15:39
Найти все сообщения Цитировать это сообщение
ale10ey Не на форуме
Генерал-лейтенант
*

Сообщений: 352
У нас с: Nov 2014
Сообщение: #39
RE: Вход в админку по логину и паролю
Доброе время суток, в продолжение темы хотел бы затронуть момент о защите к подключению к базе данных.

1. Имеется файл database.php, где
PHP код:
<?php
$db
=mysqli_connect("localhost","ale10ey","098f6bcd4621d373cade4e832627b4f6","acad") or die();
$res=mysqli_query($db,"set names utf8");
?>
как видно из подключения сейчас, если мне надо войти в phpadmin я ввожу логин (ale10ey) и пароль (098f6bcd4621d373cade4e832627b4f6) в md5.

2. Логин оставляем как есть при вводе, а пароль надо вводить в обычном формате, но он должен быть закэширован в md5, т.е возможны 2 варианта - 1-ый (хранение пароля в базе), а 2-й - в самой файле database.php прописать что-то типа:
PHP код:
if ($_POST["login"]=='ale10ey' and md5($_POST["pass"])=="098f6bcd4621d373cade4e832627b4f6"
где 098f6bcd4621d373cade4e832627b4f6 - пароль (test)

3. Нужно, чтобы при подключении к phpadmin, я вводил обычный пароль, который будет хранится в md5 в database.php (1 пункт), так как сейчас логин ввожу обычный, а пароль в md5 формате.
Пробовал сам реализовать получается "коряво", потому что не уверен как лучше и правильно сделать.
Заранее благодарен Yes

P.S.:
Цитата:т.е возможны 2 варианта - 1-ый (хранение пароля в базе)
отпадает, так как как раз создается подключение к базе и если данные пароля будут хранится в базе, то нет и смысла их там хранить.

P.S. В phpadmin поменял пароль с md5 на обычный и при подключении
PHP код:
<?php
$db
=mysqli_connect("localhost","ale10ey","test","acad") or die();
$res=mysqli_query($db,"set names utf8");
?>
данные в файле database.php открыты, т.е если узнать пароль, то можно удалить всю БД, что небезопасно.
Привел пример, как у меня сейчас, хотел бы данные пароля test
вводить в обычном формате, а в файле databse.php он был в формате md5, тем самым повышая безопасность.
(Последний раз сообщение было отредактировано 18.11.2016 в 21:04:25, отредактировал пользователь ale10ey.)
18.11.2016 20:39:32
Найти все сообщения Цитировать это сообщение
ale10ey Не на форуме
Генерал-лейтенант
*

Сообщений: 352
У нас с: Nov 2014
Сообщение: #40
RE: Вход в админку по логину и паролю
Тут, даже не уверен, как правильней сделать...

1. Или в базе создать обычный логин и пароль в md5 и с помощью database.php уже сделать так, чтобы подключение всех файлов было с помощью md5 пароля, а входить в phpadmin нужно по обычному паролю, так как если вводить md5 пароль, то это займет какое-то время, что не логично.

Сложно будет так сделать и как лучше защитить БД от "вредителей".
Сейчас изменил пароль в БД
PHP код:
<?php
$db
=mysqli_connect("localhost","ale10ey","test","acad") or die();
$res=mysqli_query($db,"set names utf8");
?>
и по такому принципу подключаются все файлы, для которых нужно подключение к БД (при помощи database.php) и также эти данные ввожу если надо зайти в phpadmin, т.е данные логина и пароля в обычном виде, что небезопасно...
19.11.2016 14:15:39
Найти все сообщения Цитировать это сообщение
Создать ответ 


Переход:


Пользователи просматривают эту тему: 1 Гость(ей)


LiveInternet
© Copyright 2011-2024 by UsefulScript.ru