let-op-met-md5-in-query

Gesponsorde koppelingen

PHP script bestanden

  1. let-op-met-md5-in-query

« Lees de omschrijving en reacties

Bij een inlogcontrole wordt vaak de volgende SQL-code gebruikt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
    $sql
= "SELECT
                id
            FROM
                users
            WHERE
                username = '"
.mysql_real_escape_string($_POST['username'])."'
                AND password = MD5('"
.mysql_real_escape_string($_POST['password'])."')";
?>


In de logs van SQL zal deze query dus op de volgende manier worden opgeslagen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
SELECT
    id
FROM
    users
WHERE
    username = 'de gebruikersnaam'
    AND password = MD5('het wachtword')


Iemand die bij de logs kan kan dus heel gemakkelijk alle wachtwoorden achterhalen, niet echt veilig dus.

Wanneer we de volgende query gebruiken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
    $sql
= "SELECT
                id
            FROM
                users
            WHERE
                username = '"
.mysql_real_escape_string($_POST['username'])."'
                AND password = '"
.md5($_POST['password'])."'";
?>


Zal het volgende in de logs komen te staan:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
SELECT
    id
FROM
    users
WHERE
    username = 'de gebruikersnaam'
    AND password = '90d18c7f83dcf74e3317ffc943aeff30'


Op deze manier kan zelfs iemand die bij de logs kan niet de wachtwoorden zien. Een heel stuk veiliger dus.

 
 

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.