Is deze functie goed genoeg om input / output veilig te maken?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Leon Kunst

Leon Kunst

27/10/2008 00:24:00
Quote Anchor link
Heren een simpele vraag;

Is deze functie goed genoeg om de input / output van en naar de database veilig te stellen?

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
<?
function save_handle($input, $type)
{

    $strip_tags     = 'javascript:|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup';
    $allowedTags =    '';
    $input = strip_tags($input, $allowedTags);
    $input = preg_replace("/$strip_tags/i", '', $input);
    $input = htmlspecialchars($input);
    
    // Als type gelijk is aan 0, dan is het mysql query veilig maken
    if ($type == 0)
    $input = mysql_real_escape_string($input);
        
    // Als type gelijk is aan 1, dan is het uitlezen veilig maken
    if ($type == 1)
    {

        $input = stripslashes($input);
        $input = nl2br($input);
    }

    return $input;
}

?>
 
PHP hulp

PHP hulp

12/05/2024 06:41:09
 
Joren de Wit

Joren de Wit

27/10/2008 00:39:00
Quote Anchor link
Zo'n functie is overbodig en bovendien erg onhandig. Jij past nu bijvoorbeeld al htmlspecialchars() toe voordat je data naar de database schrijft met als gevolg dat je die data niet meer in plain text toepassingen kunt gebruiken...

De enige functie die je nodig hebt voordat je data naar de database schrijft is mysql_real_escape_string(). Bij het uitlezen uit de database gebruik je de nodige functies afhankelijk van de toepassing ervan.

HTML tonen in HTML omgeving: htmlentities(), nl2br()
HTML uitvoeren: striptags()
enz...
 
Tikkes C

Tikkes C

27/10/2008 08:48:00
Quote Anchor link
ik gebruik ook een functie om mijn inputs te checken maar doe het zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?PHP

function checkentry($sql) {

 If(mysql_real_escape_string($sql) == TRUE) {
  return $sql
 } else {
  return FALSE;
 }

}


?>
Gewijzigd op 01/01/1970 01:00:00 door Tikkes C
 



Overzicht Reageren

 
 

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.