Versio

escapen backslash and dubbelqoute

Overzicht Reageren

Hank Noseman

Hank Noseman

08/02/2012 14:17:23
Quote Anchor link
Hey,

ik heb wat data die ik wegschrijf in een database en vervolgens toon op een andere site.

Voordat de gegevens de database ingeschoten worden escape ik eerst alles
en voordat het getoond wordt op de site de-escape ik alles.

Op zich werkt dit goed, echter het escapen van een backslash en een dubbelquote is nog niet gelukt.

Wie weet hoe dit moet?


Alvast bedankt!

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
function escape($value)
{
    
    $value = stripslashes($value);
    $value = str_replace("'","\'",$value);
    $value = str_replace("%","\%",$value);
    $value = str_replace("_","\_",$value);
    $value = str_replace("/","\/",$value);        

    return $value;
}

function deescape($value)
{
    $value = str_replace("\'","'",$value);
    $value = str_replace("\%","%",$value);
    $value = str_replace("\_","_",$value);
    $value = str_replace("\/","/",$value);        
    
    return $value;    
}
Gewijzigd op 08/02/2012 15:05:03 door Hank Noseman
 
PHP hulp

PHP hulp

24/05/2012 14:31:51
Gesponsorde koppelingen:
 
Phoenix Bird

Phoenix Bird

08/02/2012 14:29:04
Quote Anchor link
Waarom gebruik je niet gewoon mysql_real_escape_string om data in een database te zetten en htmlspecialchars om de data weer te geven?
 
Roel van de Water
Moderator

Roel van de Water

08/02/2012 14:42:44
Quote Anchor link
Precies, hier zijn standaard functies voor:
- mysql_real_escape_string
- addslashes
- stripslashes
- htmlspecialchars
- htmlentities
 
Hank Noseman

Hank Noseman

13/02/2012 10:38:55
Quote Anchor link
bedankt voor de functies echter is het me nog steeds niet gelukt om een backslash & double quote afkomstig van een form te escapen, op te slaan, en weer te tonen in het form

thanx
 
Kris Peeters

Kris Peeters

13/02/2012 11:42:13
Quote Anchor link
Waar je op moet letten:

Bij het INSERT'en van een record, moet je enkel escapen. Dat doe je met mysql_real_escape_string(). Dat beschermt je tegen SQL injection.

Verder laat je de data van de gebruiker onaangeroerd.
Haal data niet door htmlentities() vooraleer je ze insert!

Wanneer je de data naar de gebruiker stuurt (SELECT query), gebruik je htmlentities() of htmlspecialchars().
 



Overzicht Reageren

Get Adobe Flash player