Hvordan å programmere en sikker intranett PHP

Hvordan å programmere en sikker intranett PHP


Sikkerhet er en viktig faktor når du oppretter et intranett for å sørge for at innholdet er kun tilgjengelig for autoriserte brukere. Med bare noen få sider av php kode, sikring intranettet kan gjøres med letthet. Sikkerheten vil vi lage med følgende kode krever at alle brukere til å logge inn med en bruker-ID og passord for å se innholdet.

Bruksanvisning

1 Opprett en ny database tabell som inneholder følgende oppføringer for bruk med loggen i manuset.

CREATE TABLE securemembers (

id int (4) NOT NULL AUTO_INCREMENT,

username varchar (65) NOT NULL standard '',

password varchar (65) NOT NULL standard '',

PRIMARY KEY ( id )

) TYPE = MyISAM AUTO_INCREMENT = 2;

INSERT INTO securemembers VALUES (1, 'testuser', 'testpass');

2 Opprett en ny php fil kalt secureusercheck.php og lim inn følgende php kode og lagre filen.

<? Php

$ Database_host = "localhost"; // Database host

$ Username = ""; // Brukernavn Database

$ Password = ""; // Database passord

$ Database = "securemembers"; // Databasenavn

// Linjene nedenfor koble til databasen

mysql_connect ( "$ database_host", "$ username", "$ password") or die ( "Kan ikke koble til DB");

mysql_select_db ( "$ database") or die ( "Kan ikke nå DB");

// Få brukernavn og passord fra vår innloggingsside

$ Username = $ _ POST [ 'brukernavn'];

$ Password = $ _ POST [ 'passord'];

// Koden nedenfor gjør at data som er oppgitt er trygt å behandle

$ username = stripslashes ($ username);

$ Password = stripslashes ($ passord);

$ Username = mysql_real_escape_string ($ username);

$ Password = mysql_real_escape_string ($ passord);

$ Sql ​​= "SELECT * FROM medlemmer WHERE brukernavn = '$ brukernavn" og passord =' ​​$ passord ' ";

$ Resultat = mysql_query ($ sql);

// Se om rad kampene

$ Match_rows = mysql_num_rows ($ resultat);

if ($ match_rows == 1) {

// Sett innloggingen og proceeed å sikre intranett "

session_register ( "brukernavn");

session_register ( "passord");

header ( "location: secure_welcome.php");

}

else {

echo "Beklager, har du tastet inn feil brukernavn eller passord";

}

?>

3 Opprett en ny html-fil som skal vise påloggingssiden for brukere å få tilgang. Lim inn følgende kode i denne filen.

<Table width = "300" border = "0" align = "center" cellpadding = "0" cellspacing = "1" bgcolor = "# CCCCCC">

<Tr>

<Form name = "formsecure" method = "post" action = "secureusercheck.php">

<Td>

<Table width = "100%" border = "0" cellpadding = "3" cellspacing = "1" bgcolor = "# FFFFFF">

<Tr>

<Td colspan = "3"> <strong> Sikker Intranett Login </ strong> </ td>

</ Tr>

<Tr>

<Td width = "78"> brukernavn </ td>

<Td width = "6">: </ td>

<Td width = "294"> <input name = "brukernavn" type = "text" id = "brukernavn"> </ td>

</ Tr>

<Tr>

<Td> Passord </ td>

<Td> </ td>

<Td> <input name = "passord" type = "text" id = "password"> </ td>

</ Tr>

<Tr>

<Td> </ td>

<Td> </ td>

<Td> <input type = "submit" name = "submit" value = "Logg inn"> </ td>

</ Tr>

</ Table>

</ Td>

</ Form>

</ Tr>

</ Table>

4 Opprett ny php fil og navngi den login_successful.php. Lim inn følgende php kode i filen og lagre den.

// Sjekk om økten ikke er registrert, omdirigere tilbake til hovedsiden.

// Sett denne koden i første linje av web-side.

<?

session_start ();

if (! session_is_registered (brukernavn)) {

header ( "location: login.php");

}

?>

<Html>

<Body>

Intranett Pålogging Vellykket

Du kan nå få tilgang til alle beskyttede Intranett sider

</ Body>

</ Html>

5 Opprett en ny php fil og navngi den user_logout.php. Lim inn følgende linjer med kode og lagre filen.

<?

session_start ();

session_destroy ();

?>

Hint

  • Test alltid dine sikre sider for å sikre at du har ikke gitt noen smutthull som er lett utnyttes.