sql >> Databáze >  >> RDS >> Mysql

Je to bezpečná/silná vstupní sanitační funkce?

Ř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í .



  1. Jak aktualizovat sloupec datového typu JSON v MySQL 5.7.10?

  2. Rekurzivní CTE spojuje pole s rodiči z libovolného bodu

  3. MySQL LIKE + php sprintf

  4. Jak nainstalovat SQL * PLUS klienta v linuxu