escapen backslash and dubbelqoute
Hank Noseman
08/02/2012 14:17:23Hey,
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
PHP hulp
23/12/2024 07:42:11Waarom gebruik je niet gewoon mysql_real_escape_string om data in een database te zetten en htmlspecialchars om de data weer te geven?
Roel -
08/02/2012 14:42:44Precies, hier zijn standaard functies voor:
- mysql_real_escape_string
- addslashes
- stripslashes
- htmlspecialchars
- htmlentities
- mysql_real_escape_string
- addslashes
- stripslashes
- htmlspecialchars
- htmlentities
Hank Noseman
13/02/2012 10:38:55bedankt 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
Kris Peeters
13/02/2012 11:42:13Waar 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().