http-auth-beveiliging-met-mysql

Gesponsorde koppelingen

PHP script bestanden

  1. http-auth-beveiliging-met-mysql

« Lees de omschrijving en reacties

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
Tabel opbouw van de database:
CREATE TABLE `users` (
  `id` int(11) NOT NULL auto_increment,
  `username` varchar(255) NOT NULL default '',
  `password` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?
include('includes/config.php');//Naar de database connecten.
if (!isset($_SERVER['PHP_AUTH_USER']))//Kijken of er al een form is gesubmit, anders een weergeven.
{
    header("WWW-Authenticate: Basic realm=\"Enter Password.\"");
    Header("HTTP/1.0 401 Unauthorized");
    exit;
}


elseif(isset($_SERVER['PHP_AUTH_USER']))//Als er een username is gesubmit, kijken of de logininformatie klopt.
{
  $sql = "SELECT * FROM users WHERE username = '".mysql_real_escape_string($_SERVER['PHP_AUTH_USER'])."' AND password = '".sha1($_SERVER['PHP_AUTH_PW'])."'";//Het paswoord in de database is omgezet met een SHA1 encryptie.
  $res = mysql_query($sql) or die(mysql_error());
  if (mysql_num_rows ($res) == 1)
  {

    $row = mysql_fetch_array ($res)//Array opbouwen.    
      //HIER MOET DE SITE INHOUD

      header("Refresh: 3; URL=http://www.jouwsite.be/test.php");
      echo 'Dag '.$row['username'].'';
      echo '<br>U wordt zodadelijk doorverwezen...';
      //HIER STOPT DE SITE INHOUD
    
  }else//Als de logininformatie fout is, form opnieuw weergeven.
  {
    header("WWW-Authenticate: Basic realm=\"Enter Password.\"");
    header("HTTP/1.0 401 Unauthorized");
    exit;
  }
}

?>

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.