Я играл с http-аутентификацией, используя файл .htaccess, чтобы улучшить мой текущий cms.
Я нашел решение в apache, тогда как где-то я использую ссылку в моем html <a href=".test">Test</a>
.
Затем я добавляю это в мой .htaccess:
<Files .test>
AuthType Digest
AuthNAme "Restricted Page"
AuthDigestProvider file
AuthUserFile /usr/home/myDomain/includes/htpasswd/admin/.htdigest
Require valid-user
# If user is authenticated then redirect
RewriteEngine on
RewriteCond %{REMOTE_USER} !=""
RewriteRule ^.*$ /test.php? [R]
</Files>
Что происходит, когда пользователь щелкает по упомянутой гиперссылке, пользователю предлагается ввести форму для входа через http-аутентификацию. Когда они вводят правильные учетные данные, они перенаправляются на страницу в доступном корне с именем test.php, которая, в свою очередь, включает в себя индекс cms, который хранится в веб-корне.
Если пользователь выбирает раздел в cms, ему предлагается снова войти в систему (используя систему входа по умолчанию на основе php сайтов), и только пользователи с правильными назначениями ролей могут получить доступ к любому конкретному разделу.
Хотя это полезно, это не совсем то, чего я пытаюсь достичь.
То, о чем я подумал, - это два возможных решения в моем случае.
В одном месте пользователь мог бы ввести, скажем, http://www.myDomain.com/?whateveryoulike
в адресе и вместо этого быть направленным на мои cms. В идеале это перенаправление направило бы прямо на мой индекс cms в его корневом каталоге, который недоступен через http://
. Нечто подобное можно сделать в php:
if isset($_GET['whateveryoulike'])
{
include $_SERVER['DOCUMENT_ROOT'] . '/../../admin/blah.php';
}
Еще один вариант, о котором я подумал, - это то, о чем я не очень разбираюсь, но это относится к http-аутентификации, и я уже видел один раз в использовании ...
Обычно пользователь вводит username@www.myDomain.com, и ему выдается запрос с полем входа http auth. Когда учетные данные соблюдаются, они отправляются в отдельный раздел на веб-сайте.
Кто-нибудь сможет предоставить какие-либо комментарии, предложения или дополнительные идеи, касающиеся того, как мне поступить?
Однако мой вопрос: возможно ли перехватить HTTP-аутентификацию с помощью GET (http://www.myDomain.com/?whateveryoulike
), а затем перенаправить пользователя на страницу, которая находится вне корня http://
?
Спасибо, что нашли время, чтобы прочитать это!