2016-06-30 7 views
0

Ich habe eine Frage .. Ich habe 3 Haupt-Dateien auf meinem Root-Verzeichnis, das wie folgt aussieht:Wie abzulehnen einen Benutzer auf eine benutzerdefinierte Datei in PHP Zugriff auf

1- index.php 
2- login.php 
3- dashboard.php 

Grundsätzlich Wenn ein Benutzer geht an Meine Website wird automatisch zu index.php Datei umgeleitet, die einen Captcha-Code & enthält, wenn er den richtigen Code eingibt, wird er an die Datei login.php umgeleitet. So kann er seine Informationen verwenden, um sich in der Datei dashboard.php anzumelden.

Das Problem ist, er kann auf die Anmeldeseite zugreifen, ohne Code auf der Indexseite einzugeben. zum Beispiel kann er auf diese URL gehen und die Login-Seite manuell aufrufen:

http://www.example.com/login.php

Gibt es eine Möglichkeit, den Zugriff eines Benutzers von einer benutzerdefinierten Seite ablehnen und zu verweigern? In dieser Situation MUSS er auf die Indexseite zugreifen und wird danach zur Anmeldeseite weitergeleitet.

Es wäre sehr hilfreich, wenn Sie wissen, wie Sie diese Frage lösen können ... Vielen Dank im Voraus!

+0

Suchen Sie auf der Anmeldeseite nach einer Sitzungsvariablen, die Sie nach dem korrekten Einfügen des Codes auf der Indexseite festlegen. Wenn die Variable in Ordnung ist, mach weiter. Wenn die Variable nicht in Ordnung ist, leiten Sie den Benutzer zum Index um ... – FirstOne

Antwort

0

Ich habe dies oben auf jeder meiner Seiten. Wenn die Sitzungsvariable nicht festgelegt ist, stellen Sie eine Verknüpfung zur Anmeldeseite bereit (dies könnte eine Weiterleitung sein, falls Sie dies wünschen) und nichts anderes anzeigen. Wenn die Sitzungsvariable festgelegt wurde, dh der Benutzer angemeldet ist, fahren Sie mit der Anzeige der Seite fort.

<?php 

//start the session 
session_start(); 

//If the user is not logged in: provide a link to the login page. 
if (!isset($_SESSION["CurrentUser"])){ 
    ?><a href="login.php"' >Click here to Login</a><?php 
    exit(); //Do not display the rest of the page. This will stop the PHP from executing. Important! 

//If the user is logged in: show them the page 
}else{ 
    require_once('top.php'); 
    //in addition to including top.php, the code below this line will execute. 
} 


?> 

Auf Ihrer Login-Seite, wo immer Sie die Authentifizierung Stück, fügen Sie dies bei erfolgreicher Anmeldung.

$_SESSION["CurrentUser"] = $username 
0

für jede Datei mit Ausnahme des Index ,, für die Sitzung überprüfen ,, erstellen die Sitzung in die index.php, so die andere Datei wird die Sitzung fangen, wenn es Setted keine Sitzung, dann Meldung, ,,

session_start(); 
if(!isset($_SESSION['session_name'])){ 
echo '<script language="javascript">'; 
echo 'alert("Please Insert The Code")'; 
echo '</script>'; 
echo("<script>location.href = 'index.php';</script>"); 
} 
Verwandte Themen