• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

jak zablokować strone dla niezalogowanych

Object Storage Arubacloud
+1 głos
308 wizyt
pytanie zadane 29 kwietnia 2017 w PHP przez sapero Gaduła (4,100 p.)
Witam jak w temacie : jak zablokować stronę dla niezalogowanych?

Zrobiłem logowanie i rejestracje na stronie. w index.php napisałem warunek który wyświetla mi oddzielne menu dla zalogowanych i nie lecz jeśli w adresie wpisze adres strony który jest w manu dla zalogowanych też mogę tam wejść:( może ktoś mi podać jakiś przykład jak to działa żeby zrozumiał i użył tego kodu? jestem raczkujący z php :)

1 odpowiedź

0 głosów
odpowiedź 29 kwietnia 2017 przez Michał Kazula Pasjonat (19,540 p.)
Zrób walidacje w każdym pliku.
komentarz 29 kwietnia 2017 przez sapero Gaduła (4,100 p.)
jak to zrobić dla zalogowanego/admina/niezalogowanego?
komentarz 30 kwietnia 2017 przez Michał Kazula Pasjonat (19,540 p.)
podeślij pliki bo tak to ciężko napisać.
komentarz 30 kwietnia 2017 przez sapero Gaduła (4,100 p.)
mój index.php

(empty($_GET['page'])) ? $url = "Home"  : $url = $_GET['page'];



$file = "pages/" .$url .".php";



//HEADER
include ('modules/header.php') ;  



// SESJA użytkownika na stronie
if ($user->check()) { // Tylko dla użytkowników zalogowanych
   
    $userData = $user->data();
    include ('modules/admin/menu-admin.php') ;
} else {
    // Widok dla użytkownika niezalogowanego
    include ('modules/menu.php') ;
}

if(file_exists($file)){
    include($file);
}
else{include('pages/404.php');
}




//STOPKA
include('modules/footer.php'); 

przykladowa strona:

<br>
       
       
        <div class="container">
        
<?php include('modules/steps.php'); ?>
       
        <div class="row">
            <div class="col-md-4">
                <div class="panel panel-default text-center">
                    <div class="panel-heading">
                        <h3 class="panel-title">Basic</h3>
                    </div>
                    <div class="panel-body">
                        <span class="price"><sup>$</sup>19<sup>99</sup></span>
                        <span class="period">per month</span>
                    </div>
                    <ul class="list-group">
                        <li class="list-group-item"><strong>1</strong> User</li>
                        <li class="list-group-item"><strong>5</strong> Projects</li>
                        <li class="list-group-item"><strong>Unlimited</strong> Email Accounts</li>
                        <li class="list-group-item"><strong>10GB</strong> Disk Space</li>
                        <li class="list-group-item"><strong>100GB</strong> Monthly Bandwidth</li>
                        <li class="list-group-item"><a href="#" class="btn btn-primary">Sign Up!</a>
                        </li>
                    </ul>
                </div>
            </div>
            
            </div>
        </div>
        <!-- /.row -->

        <hr>

       

    </div>

plik z menu dla admina

<?php

if ( isset ( $_POST['logout_web'] ) )
    {
    session_destroy();
       // .. przekieruj na strone glowna po wylogowaniu
       header("Location: index.php");
    }; ?>
    
  <body>
   <!-- Navigation -->
    <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
        <div class="container">
            <!-- Brand and toggle get grouped for better mobile display -->
            <div class="navbar-header">
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                <a class="navbar-brand" href="index.php">Strona z grami</a>
            </div>
            
            <!-- MENU -->
            <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                <ul class="nav navbar-nav navbar-right">
                   <li >
                        <a href="index.php?page=Home">Strona Główna</a>
                    </li>
                    <li >
                        <a href="index.php?page=Gry">Gry</a>
                    </li>
                    <li >
                        <a href="index.php?page=Instrukcje">Info</a>
                    </li>
                    <li>
                        <a href="index.php?page=Ranking">Ranking</a>
                    </li>
                    <!-- PANLE PROFILU -->
                    <li class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown"><?php echo $userData['login_id'] ;?>
                        <b class="caret"></b></a>
                        <ul class="dropdown-menu">
                            <li>
                            <div class="profile-header-container">   
    		<div class="profile-header-img ">
                <img class="img-circle img-profile" src="files/avatars/avatar1.jpg" />
                <!-- badge -->
                <div class="rank-label-container">
                    <span class="label label-default rank-label centermax" style="display:block;"><?php echo $userData['login_id'] ;?></span>
                </div>
            </div>
        </div> 
                                <a href="index.php?page=Profil">Profil</a>
                            </li>
                            <li>
                        <a href="index.php?page=Dodaj">Dodaj pliki</a>
                    </li>
                            <li>
                                <form method="post">
                                    <button class="btn" type="submit" name="logout_web">Wyloguj</button>
                                </form>
                                
                            </li>
                        </ul>
                    </li>
                    
                </ul>
            </div>
            <!-- /.koniec MENU -->
        </div>
        <!-- /.container -->
    </nav>

w panelu dla niezalogowanego nie ma tylu podstron, jednak po wpisaniu adresu strony mozna tam wejść :(

komentarz 30 kwietnia 2017 przez Michał Kazula Pasjonat (19,540 p.)

Masz co najmniej dwa rozwiązania.

  1. Kiedy logujesz się jako user dodaj sobie do sesji wpis że jesteś zalogowany. A w plikach na samej górze daj if'a sprawdzającego czy jest zalogowany. Jak tak to wyświetl plik. Jak nie to wróć do panelu logowania.
  2. Możesz użyć systemu routingu, np. takiego.

Podobne pytania

0 głosów
1 odpowiedź 154 wizyt
pytanie zadane 17 kwietnia 2018 w PHP przez JeyJey Użytkownik (710 p.)
0 głosów
2 odpowiedzi 306 wizyt
pytanie zadane 20 lutego 2018 w PHP przez Janusz Pierzchalski Początkujący (430 p.)
+1 głos
2 odpowiedzi 265 wizyt
pytanie zadane 8 lutego 2022 w PHP przez gatka84 Bywalec (2,150 p.)

92,657 zapytań

141,551 odpowiedzi

319,991 komentarzy

62,026 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...