Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Okienko na hasło
Forum PHP.pl > Forum > PHP
lojciec14
Witam. Otóż znalazłem w internecie pliki php, które zabezpieczają wejście do pliku hasłem. Nie podoba mi się jednak, że hasło pokazuje się w nowej białej stronie, a nie w okienku logowania. Tzn. chodzi mi o to, że chciałbym by po kliknięciu w podstronę, która jest blokowana hasłem otwarło się małe okienko z komunikatem o podanie hasła. W temacie jestem zielony, więc proszę i wyrozumiałość. Tak wygląda obecnie kod wywołujący białe okno z prośbą o logowanie:

Kod
<?php
session_start(); //rozpoczęcie sesji
include "haslo.php";
//skrypt :)
$pass = $_POST[pass];
if ($pass)
{
if ($pass==$haslo)
{
$_SESSION[haslo] = $haslo;
header ("Location: pracownicy.php"); //podajesz adres, na który po zalogowaniu skrypt przekierowuje
}
else
{
echo 'Podałeś niepoprawne hasło. :(';
}
}
else
{
echo '
<form method=post>
<center>Podaj hasło: <INPUT TYPE="PASSWORD" NAME="pass" VALUE="'.$pass.'">
<INPUT TYPE="SUBMIT" VALUE="Zaloguj"></center>
</FORM>
';
}
$action = $_GET[action];
if ($action=="logout")
{
session_destroy();
header("Location: adres.php"); //podajesz adres, na który po wylogowaniu skrypt przekierowuje
}
?>


Tutaj przykład jak to działa: Link do strony

Później będę miał dalsze pytania, jednak najpierw prosiłbym o pomoc w tej sprawie. pozdrawiam, lojciec14
Fifi209
http://www.google.pl/search?hl=pl&lr=&...uth&spell=1

Sam znajdziesz resztę.
lojciec14
Mógłbyś dokładnie napisać jak zabezpieczyć jeden plik hasłem? Bo czytałem o tym zabezpieczeniu przez htaccess, ale ono nie działało... php działa, jednak efekt mnie nie zadowala.
erix
Pokaż, co robiłeś.
lojciec14
Za chwilkę sprawdzę jeszcze raz hasło przez htaccess, bo już chyba wiem, gdzie tkwił błąd.

Ok, htaccess działa, jednak mam inny problem. po wpisaniu loginu i hasła wywala mi taki błąd:

Kod
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, info@hostit.pl and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.


Nie wiem co z tym zrobić. Tak wygląda plik htaccess:
Kod
AuthName "Podaj haslo"
AuthType Basic
AuthUserFile home/www/pracownicy/.htpasswd
Require valid-user
erix
Źle podałeś ścieżkę do pliku .htpasswd.
lojciec14
wybaczcie, ale nie wiem jak ją poprawić... aktualnie mam tak:

Kod
AuthName "Podaj haslo"
AuthType Basic
AuthUserFile /www/pracownicy/.htpasswd
Require valid-user
erix
Ścieżka ma być BEZWZGLĘDNA. A wątpię, żeby w głównym katalogu był www.
lojciec14
tak wygląda ścieżka do katalogu:


No i obecny plik htaccess:

Kod
AuthName "Podaj haslo"
AuthType Basic
AuthUserFile /www/zebranie/pracownicy/.htpasswd
Require valid-user
phpion
Nie, to jest po prostu ścieżka od katalogu, do którego masz dostęp. Aby wyświetlić prawdziwą ścieżkę wrzuć sobie plik php z takim kodem:
  1. <?php
  2. echo $_SERVER['DOCUMENT_ROOT'];
  3. ?>

i wówczas zobaczysz pełną ścieżkę.
lojciec14
wyrzuciło mi taką odpowiedź:
Kod
/home/rudpol/www/


Zrobiłem taki plik htaccess:
Kod
AuthName "Podaj haslo"
AuthType Basic
AuthUserFile /home/rudpol/www/.htpasswd
Require valid-user


I nadal wywala ten błąd, co podałem wyżej.
phpion
Jeżeli .htpasswd masz tam gdzie widać na screenie to ścieżka powinna wyglądać tak:
/home/rudpol/www/zebranie/pracownicy/.htpasswd
Powinno zadziałać.
lojciec14
Dzięki, już działa smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.