www.example.com/index.html
на моем веб-сайте – это страница с запросом пароля, а при вводе – через www.example.com/login.php
.
<?php if (isset($_POST['pw']) && ($_POST['pw'] == "mypassword")) { // Location after Logged in header('Location: http://example.com/kareha/index.html'); } else { // If not Logged in header('Location: http://example.com/index.html'); } ?>
А затем перенаправляется на www.example.com/kareha/
.
Проблема в том, что любой может просто ввести и непосредственно перейти на www.example.com/kareha/
.
Есть ли способ защитить этот файл индекса (или где-либо еще на сайте), чтобы любой, кто не вошел в систему, перенаправляется на главную страницу входа?
Кроме того, помогло бы оно, если бы оно было защищено через .htaccess
? ( /kareha/index.html
автоматически обновляется в соответствии с шаблоном, который прерывается каждый раз, когда я общаюсь с ним)
Редактировать: Может быть, что-то /login.php
на начало сеанса с /login.php
а затем наличие .htaccess
в папке /kareha/
folder для сеанса?
вам нужно использовать сеансы или .htpasswd. Чтобы использовать сеансы, измените свои html-файлы на php
вот вершина вашего сценария входа в систему
<?php session_start(); // see if the form has been posted if($_SERVER['REQUEST_METHOD'] == 'POST') { // check for the password if($_POST['pw'] == "mypassword") { // set a session $_SESSION['loggedin'] = true; // redirect to kareha/ header('Location: http://example.com/kareha/index.php'); } } else { header('Location: http://example.com/index.html'); } // put HTML and login form here...
самая вершина kareha / index.php
<?php session_start(); if(!isset($_SESSION['loggedin'])) { // redirect to login page header('Location: http://example.com/index.html'); } // put rest of page here
вы можете прочитать о сеансах здесь: http://www.php.net/manual/en/book.session.php
Изменить: я неправильно читаю исходный вопрос. После доработки …