Ta strona używa ciasteczek (cookies), dzięki którym nasz serwis może działać lepiej. Dowiedz się więcej OK, rozumiem

Dostęp na hasło

Zdecydowałeś się na tworzenie interaktywnych stron przy pomocy PHP? Chcesz w łatwy i szybki sposób zarządzać danymi na swojej stronie? Tutaj znajdziesz pomoc w napotkanych przy tym trudnościach.

Dostęp na hasło

Post 29.07.2017, 21:38:01

Witam po raz kolejny ostatnimi czasy.
Wiele się nauczyłem ale dalej czasami utykam na pewnie by się mogło zdawać prostych sprawach ale nie dla każdego jednak.
Chodzi mi o dostęp do strony po podaniu hasła.
mam stronę w admin.html do której z kolei dołączony jest admin.js.
js wywołuje admin.php celem pobrania danych z bazy i odesłaniu informacji zwrotnej.

I teraz tak
Mogę zrobić plik w php login.php który sprawdzi czy hasło się zgadza i przekieruje na plik admin.html ale wtedy nie wiem jak zabezpieczyć się przed wejściem bezpośrednim z url-a http://strona.pl/admin.html i pominięcie login.php.

Jakoś nic mądrzejszego mi nie przychodzi jako rozwiązanie.
sasiadstar
Posty: 119
Dołączył(a): 26.08.2016

Re: Dostęp na hasło

Post 30.07.2017, 14:43:10

No właśnie cała logika sprawdzania czy ktoś jest zalogowany powinna być wykonywana na tych podstronach, które wymagają ochrony dostępu. Zatem musisz sprawdzać w admin.html i w razie gdy użytkownik nie jest zalogowany przekierowwć go na stronę logowania, zaś po zalogowaniu przekierować na podstronę z ktorej użytkownik trafił na stronę logowania.
Avatar użytkownikakuku
Rafał Kukawski

+∞
+∞

Posty: 19587
Dołączył(a): 14.04.2002

Re: Dostęp na hasło

Post 03.08.2017, 10:46:51

Zrobiłem takie coś
Kod: Zaznacz cały
<?php
$user = $_POST['user'];
if( $user !==null)
{
$haslo=array('haslo1','haslo2','haslo3');
if(in_array($user, $haslo) )
{
      print file_get_contents("strona.php");
      exit;
}
else
{
  echo"zle haslo";
  header("Refresh:0");
};

}

?>
<form id="login "method="POST" action="login.php">
            User <input type="text" name="user"></input><br/>
            <input type="submit" name="submit" value="Go"></input>
</form>


Wszystko działa
teraz zmieniłem na takie coś
Kod: Zaznacz cały
if( $user !==null)
{include_once(sprawdz_db.php');
$temp=pobierz_token($user);
//var_dump($temp);exit;
   //$loginy=array('Kodi');
if($temp!=null )
..
//dalej juz normalnie

i tu Zonk zamiast pokazać stronę wypluwa mi skrypt PHP (jego zawartość) w formie tekstowej.???
sasiadstar
Posty: 119
Dołączył(a): 26.08.2016

Re: Dostęp na hasło

Post 03.08.2017, 11:41:32

no bo print file_get_contents("strona.php"); nie spowoduje uruchomienia interpretera PHP dla pliku strona.php. Raczej powinieneś użyć include zamiast print file_get_contents
Avatar użytkownikakuku
Rafał Kukawski

+∞
+∞

Posty: 19587
Dołączył(a): 14.04.2002

Re: Dostęp na hasło

Post 03.08.2017, 11:55:03

Próbowałem i też wypluwa kod php.
file_get_contents działa w pierwszym przykładzie.
include też
Do póki nie dodam include_once(sprawdz_db.php'); //plik obslugi bazy danych
to wszystko jest OK
sasiadstar
Posty: 119
Dołączył(a): 26.08.2016

Re: Dostęp na hasło

Post 03.08.2017, 12:26:50

Jedyne co jeszcze mogę napisać, to że w drugim kodzie brakuje ci
Kod: Zaznacz cały
<?php
na początku, ale uznałem, że po prostu nie podałeś go tutaj na forum. Poza tym, patrząc na podane kody, nie widzę więcej problemów.

Tak jak pisałem, jeśli w pliku strona.php jest kod PHP, to użycie
Kod: Zaznacz cały
print file_get_contents('strona.php');

spowoduje wyplucie treści pliku jak jest, bez wykonania kodu PHP w nim zawartego.
Avatar użytkownikakuku
Rafał Kukawski

+∞
+∞

Posty: 19587
Dołączył(a): 14.04.2002

Re: Dostęp na hasło

Post 04.08.2017, 10:09:06

Masz rację błędów nie ma.
Część skryptu include_once(sprawdz_db.php'); byla skopiowana z innego pliku php i nie opatrznie był wstawiony nagłówek na json.
Już usunąłem i wszystko działa.
Jeszcze raz dzięki.
PAMIĘTAJCIE SPRAWDZAĆ NAGŁÓWKI!!!
sasiadstar
Posty: 119
Dołączył(a): 26.08.2016


Powrót do PHP i bazy danych


 


  • Podobne wątki
    Odpowiedzi
    Wyświetlone
    Ostatni post

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 gości

Hosting, Domeny, SSL

Subskrypcja

Mamy 50440 zarejestrowanych użytkowników.
Najnowszy użytkownik: DellParr


Nasi użytkownicy napisali:

  • 935651 wiadomości
  • w 246577 tematach

Najnowsze wpisy na blogu

Najnowsze artykuły

Najaktywniejsi (ostatnie 30 dni)