escapen backslash and dubbelqoute
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!
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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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;
}
{
$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
Gesponsorde koppelingen:
Waarom gebruik je niet gewoon mysql_real_escape_string om data in een database te zetten en htmlspecialchars om de data weer te geven?
Precies, hier zijn standaard functies voor:
- mysql_real_escape_string
- addslashes
- stripslashes
- htmlspecialchars
- htmlentities
- mysql_real_escape_string
- addslashes
- stripslashes
- htmlspecialchars
- htmlentities
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
thanx
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().
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().



