basisbeveiliging-tegen-mysqlinjecties

Gesponsorde koppelingen

PHP script bestanden

  1. basisbeveiliging-tegen-mysqlinjecties

« Lees de omschrijving en reacties

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?php
/****************************
Module Laatst gewijzigd:    12-04-2008

* http://nl3.php.net/manual/en/security.database.sql-injection.php
* http://dev.mysql.com/tech-resources/articles/guide-to-php-security-ch3.pdf
    
* Notitie: Deze script is overigens bij 't origineel in het engels (en wat gedetaileerder) becommentariseert aangezien ik mijn systeem later op sourceforge wil delen. Bij deze alvast een voorproefje!
****************************/


function secure_it($secval='')
{

/****************************
De functies staan in chronologische volgorde voor gebruik.
1. 'mysql_real_escape_string' = Sinds PHP v. 4.3.0 (DBcon)
2. 'mysql_escape_string' = Sinds PHP v. 4.0.3 (verouderd)
3. 'addslashes' = Als de rest ook faalt...
****************************/

$secure_func_array = array
(
'mysql_real_escape_string',
'mysql_escape_string',
'addslashes'
);

/****************************
Doormiddel van deze foreach lezen we de hierboven opgegeven array uit
en checken met function_exists of de functie bestaat.
****************************/

foreach($secure_func_array as $sec_array)
{

    if(function_exists($sec_array) and !isset($f2use) and empty($f2use))
    {
$f2use = $sec_array; }
}

            
    if(!empty($secval))
    {

        /****************************
        Indien de variabele een array bevat, gaan we hier verder. $_POST
        en $_GET zijn bijvoorbeeld beiden een array.
        ****************************/

        if(is_array($secval))
        {

            foreach($secval as $var_name => $var_val)
            {

            /****************************
            Indien de "uitgepakte" var nóg een array bevat,
            herbruiken we deze functie om dieper door
            te gaan. Je kan zo ongelimiteerd de array's doorlopen
            ****************************/

        
                if(is_array($var_val))
                {

                $output[$var_name] = secure_it($var_val);
                }

                else
                {
                    if(get_magic_quotes_gpc())
                    {
stripslashes($var_val); }
                $output[$var_name] = $f2use($var_val);
                }
            }
        }

        else
        {
        /****************************
        Indien de variabele verder geen array bevat komen we hier en
        beveiligen de var rechtstreeks
        ****************************/

            if(get_magic_quotes_gpc())
            {
stripslashes($secval); }
        $output = $f2use($secval);
        }
    }

    if(isset($output) and !empty($output))
    {
return $output; }
}

        
if(isset($_SERVER) and !empty($_SERVER) and is_array($_SERVER))
{
$_SERVER = secure_it($_SERVER); }

if(isset($_POST) and !empty($_POST) and is_array($_POST))
{
$_POST = secure_it($_POST); }
        
if(isset($_GET) and !empty($_GET) and is_array($_GET))
{
$_GET = secure_it($_GET); }
        
?>

 
 

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.