July 26
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).
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.