Řekl bych, že je to příliš obecné. může být bezpečný pro mnoho použití, ale často by to mělo nežádoucí vedlejší účinky na řetězce. Ne každý řetězec by měl být takto escapován.
mysql_real_escape_string()
by měl být použit pouze v rámci SQL dotazů. Ještě lépe, svažte parametry pomocí PDO.- Proč byste chtěli před vložením do databáze odstranit značky a zakódovat entity? Možná to udělejte na cestě ven.
- Pro prevenci XSS použijte
htmlspecialchars()
je spíš tvůj přítel. Dejte mu znakovou sadu jako argument.
Takže bych použil mysql_real_escape_string()
pro dotazy a htmlspecialchars()
pro opakování řetězců odeslaných uživatelem. Je toho také mnohem více k poznání. Přečtěte si další čtení
.