Come impostare account di accesso per una pagina Web

July 26

Come impostare account di accesso per una pagina Web


Le pagine Web sono utili per più di dati appena diffusione e informazioni. Possono essere utilizzati come aree di log-in per le aree protette di un sito web. Con un po 'di codifica PHP e l'accesso a un database MySQL, una pagina web estremamente semplice log-in può essere creato per proteggere i membri solo le aree. Prima di procedere, è necessario garantire la web hosting provider del sito permette di pagine web PHP-coded, offre agli utenti l'accesso ad almeno un database MySQL, e fornisce un modo per amministrare il database via web (phpMyAdmin è altamente consigliato).

istruzione

1 Accedere al programma di amministrazione di MySQL e creare una tabella all'interno del database chiamato "utenti". La tabella dovrebbe includere tre campi di dati - un numero di identificazione, un nome utente e una password. Il seguente codice crea la tabella desiderata con le informazioni corrette:

CREATE TABLE users (
id int (4) auto_increment NOT NULL,
username VARCHAR (16) NOT NULL default '',
password varchar (8) NOT NULL default '',
PRIMARY KEY ( id )
) TYPE = MyISAM;

2 Inserire un utente nella tabella del database "utenti". All'interno PHPMyAdmin, questo può essere realizzato con il seguente codice:

INSERT INTO users VALORI (1, 'admin', 'password');

I campi di nome utente e password può essere modificata a un insieme più desiderato.

3 Aprire o un editor di pagine web o Blocco note e creare una nuova pagina web chiamato "login.php". Posizionare il seguente pezzo di PHP codifica nella pagina per creare una semplice pagina di log-in:

<Form name = metodo = azione "post" "login" = "check.php">
<P> <strong> Secured Area User Log-in </ strong> </ p>
<P> Nome utente: <input name = tipo "username" = "text" id = "username"> </ p>
<P> Password: <input name = tipo "password" = "password" id = "password"> </ p>
<P> </ p>
<P> <input type = "submit" name = "submit" value = "Login"> </ p>
</ Form>

4 Creare una pagina Web piccolo chiamato "includes.php" e assicurarsi che si trova in una zona accessibile non-web del server web. Questo è fondamentale in quanto conterrà informazioni sicure per quanto riguarda il database e il pubblico in generale non dovrebbe avere accesso a queste informazioni. Inserire il seguente codice PHP all'interno di questa pagina:

<? Php
$ Host = ""; // Nome host - questo di solito è localhost, ma può essere impostato in modo diverso dal tuo host web
$ Username = ""; // Il nome utente MySQL assegnato al database
$ Password = ""; // La password di MySQL assegnata al nome utente
$ Db = ""; // Il nome del database MySQL
$ TBL = "utenti"; // Nome tabella creata in precedenza
?>

5 Creare una nuova pagina chiamata "check.php". Se il controllo di log-in dell'utente è successo, questa pagina non sarà visibile. Tuttavia, un cattivo di log-in interromperà qualsiasi ulteriore elaborazione e l'utente verrà avvisato di un problema di log-in non corretta. Inserire il codice seguente in questa pagina:

<? Php
// Richiedere che le informazioni dalla pagina includes.php
require_once ( '../ includes.php');

// Si connette al server e selezionare il database.
mysql_connect ( "$ host", "$ username", "$ password") or die ( "non può connettersi");
mysql_select_db ( "$ db") or die ( "Impossibile selezionare database");

// Il nome utente e password, inviati da login.php
$ LoginUsername = $ _ POST [ 'username'];
$ LoginPassword = $ _ POST [ 'password'];

// La seguente po 'di codifica protegge da attacchi di iniezione di MySQL
$ LoginUsername = stripslashes ($ loginUsername);
$ LoginPassword = stripslashes ($ LoginPassword);
$ LoginUsername = mysql_real_escape_string ($ loginUsername);
$ LoginPassword = mysql_real_escape_string ($ LoginPassword);

$ Sql ​​= "SELECT * FROM $ tbl dove username = '$ loginUsername' e la password = '$ LoginPassword'";
$ Risultato = mysql_query ($ sql);

// Contare quanti risultati sono stati estratti dalla tabella
$ Count = mysql_num_rows ($ risultato);

// Se il risultato è uguale a 1, continua
if ($ count == 1) {
// Registro della sessione $ loginUsername, $ LoginPassword e reindirizzare l'utente alla pagina di successo nell'area protetta
session_register ( "loginUsername");
session_register ( "LoginPassword");
header ( "Location: sicuro / Success.php");
}
// Se non con successo, informare l'utente dell'errore
altro {
echo "Nome utente o password errati";
}
?>

6 Creare una nuova pagina Web all'interno dell'area protetta denominata "Success.php". Questo file può essere sia una pagina reale già risiedono nella zona sicura o un piccolo file con il seguente codice PHP inclusi:

// Verificare se la sessione è stato registrato. In caso contrario, reindirizzare utente alla pagina principale di log-in.
// Le sei linee seguenti devono risiedere in cima della codifica della pagina (prima <html>)
<? Php
session_start ();
if (! session_is_registered (loginUsername)) {
header ( "Location: ../ login.php");
}
?>

<Html>
<Body>
Accesso riuscito
</ Body>
</ Html>

Se una pagina già esistente è scelto per questo passaggio, assicurarsi le prime sei righe di codice PHP di cui sopra viene posta proprio all'inizio della codifica della pagina scelta e che il "check.php" nome della pagina di successo è cambiato per riflettere questo propriamente.

7 Carica le pagine web appena create al server. Test per garantire tutte le pagine e tabella del database funzionano correttamente utilizzando il nome utente e la password creata nel passaggio due. Una volta che siete soddisfatti dei risultati, è possibile costruire ulteriormente sulle pagine login.php e check.php.