Hogyan, hogy kiszűrje a beérkező adatok

Már a kezdet kezdetén azt javaslom, hogy tisztázza a szó jelentését szűrő, adja meg a következő beállításokat a felhasználói adatok.
  1. Érvényesítést, azaz betartásának ellenőrzését a felhasználói az üzleti logika.
  2. Szűrés, azaz konvertáló a bemenő adatokat egy bizonyos módon. Például akkor vágja vezető üres egy sorban vagy vágott belőle html-címkéket.
  3. Formázása adatok a helyes behelyezés az adatbázisba, a kimeneti HTML, stb







Elvégzésére az első két pont php kiterjesztése szűrő. amely részt vesz a tisztító és ellenőrzi a bemeneti adatokat.

A harmadik bekezdés kimondja, hogy ha az adat érkezik a felhasználó bárhol helyettesített, akkor helyesen kell formázni. És meg kell tenni közvetlenül idején helyettesítés (az adatbázist vagy kimenet html).

Kiadásánál az adatokat a html (nyilván, ha nem teszik lehetővé a következtetésre html-címkék), a speciális karaktereket (idézetek, jelei egyre kevésbé, és jelet) kell konvertálni HTML-entitás. Ez csak részt htmlspecialchars funkciót. Htmlentities átalakítja nemcsak a karakterek, hanem sokan mások (részletes lista a következő címen szerezhető get_html_translation_table funkció). Ha utf-8 a helyszínen, akkor nem kell.







Most, hogy meg kell figyelni, ha htmlspecialchars:
  • A harmadik paraméter adható meg a kódolást használ a webhelyen.
  • A második paraméter határozza ENT_QUOTES zászló. Átalakítani mind a két szimpla idézőjelek. Mivel az attribútumokat lehet rögzíteni mindkét (href = „” és a href = „”). A html mindig használja idézetek írásakor attribútumok (nem írok src = kep1.jpg).
  • A második lehetőség, akkor is meg ENT_SUBSTITUTE zászló (php> = 5,4). Ha a string tartalmaz helyesen kódolt szimbólumok, akkor helyébe a Unicode karaktert. kapsz egy üres string (részletek) nélkül ez a zászló.

A végleges változat használata htmlspecialchars:


Azt tanácsolom, továbbá lásd a dokumentációt a könyvtár Zend \ Escaper. amely példákat helyes és helytelen formátumú adatot, ha a kimenet különböző részein html-dokumentum.

A kérdésre adott válasz

Jelentkezzen válaszolhat

  • Moszkva
  • Teljes munkaidőben
  • 40 000 rubelt.
  • Moszkva
  • Teljes munkaidőben
  • 150 000-180 000 rubelt.
  • Moszkva
  • Teljes munkaidőben
  • 150 000-180 000 rubelt.

100.000 dörzsölje. / Per projekt

30000 dörzsölje. / Per projekt

30000 dörzsölje. / Per projekt

Bejelentkezés

Feltenni egy kérdést, és kap egy szakértő választ.




Kapcsolódó cikkek