Skocz do zawartości
Zaloguj się, aby obserwować  
globox99

Zablokowanie podstron hasłem

Polecane posty

Witam, głowię się z tym już trochę czasu i mam problem..
Jak zablokować stronę www hasłem, tak aby nie można było wejść bezpośrednio w plik (np. strona.pl/oferta.php) tylko po wcześniejszym zalogowaniu w index.php.

Chcę aby wszystkie moje podstrony były zablokowane, i dostępne tylko po zalogowaniu w pierwszej stronie.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Pokrótce przedstawię Ci tu proste logowanie ze stałym hasłem - zapisanym w jednym z plików logowania - oczywiście można bawić się w przeróbki itp, ale chcę Ci tylko zaprezentować działanie.

 

Robisz sobie prosty formularz z wpisywaniem hasła dajmy na to plik login.php:

<?php
session_start();
$haslo = 'abcd';
if (!$_POST['login']) {
?>
	<form method="post">
	Hasło: <input type="password" name="pass"> <input type="submit" value="Zaloguj" name="login">
	</form>
<?php
} else {
	if ($_POST['pass'] == $haslo) {
		// jeśli podaliśmy dobre hasło to ustalamy sesje i przenosimy użytkownika do index.php
		$_SESSION['login'] = true;
		header("Location: index.php");
	} else {
		echo 'Logowanie nie powiodło się';
	}
}
?>

I teraz w podstronach, których chcesz "autoryzację" dodaj taki warunek:

<?php
session_start();
	if (isset($_SESSION['login'])) {
		echo 'Zalogowany, tresc podstrony';
	} else {
		echo 'Nie masz dostępu';
	}

?>

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

 

Pokrótce przedstawię Ci tu proste logowanie ze stałym hasłem - zapisanym w jednym z plików logowania - oczywiście można bawić się w przeróbki itp, ale chcę Ci tylko zaprezentować działanie.

 

Robisz sobie prosty formularz z wpisywaniem hasła dajmy na to plik login.php:

<?php
session_start();
$haslo = 'abcd';
if (!$_POST['login']) {
?>
	<form method="post">
	Hasło: <input type="password" name="pass"> <input type="submit" value="Zaloguj" name="login">
	</form>
<?php
} else {
	if ($_POST['pass'] == $haslo) {
		// jeśli podaliśmy dobre hasło to ustalamy sesje i przenosimy użytkownika do index.php
		$_SESSION['login'] = true;
		header("Location: index.php");
	} else {
		echo 'Logowanie nie powiodło się';
	}
}
?>

I teraz w podstronach, których chcesz "autoryzację" dodaj taki warunek:

<?php
session_start();
	if (isset($_SESSION['login'])) {
		echo 'Zalogowany, tresc podstrony';
	} else {
		echo 'Nie masz dostępu';
	}

?>

 

 

A jednak nie do końca. Jak dodam warunek na początku to wyświetla mi stronę ale pisze że nie mam dostępu. Jak zablokować stronę i idać sam napis nie masz dostepu?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bo musisz wyświetlanie strony dać w warunku, a nie poza nim. Pokaż kod

 

 

Okej mam, a jak dać kasowanie sesji? Wylogowywanie.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×