Cum să filtrați corect datele primite

Pentru început am sugera să se clarifice semnificația filtrului cuvânt, selectând următoarele opțiuni pentru date de utilizator.
  1. Validarea, adică Verificarea conformității datelor introduse de utilizator cu logica dvs. de afaceri.
  2. Filtrarea, adică transformarea datelor de intrare într-un anumit mod. De exemplu, puteți să tăiați spațiile de conducere într-o linie sau să decupați etichete html din ea.
  3. Formatarea datelor pentru inserarea corectă în baza de date, ieșirea în HTML etc.

Pentru a executa primele două elemente din php, există extensia Filtru. care este implicat în verificarea și curățarea datelor de intrare.

Al treilea paragraf spune că, dacă datele primite de la utilizator sunt undeva înlocuite, trebuie să fie corect formatate. Și trebuie să faceți acest lucru direct la momentul înlocuirii (scrieți în baza de date sau ieșiți în html).

Când trimiteți date în html (dacă explicit nu permiteți ieșirea html-tag-urilor), toate caracterele speciale (citate, semne și cifre, mai mult sau mai puțin, ampersands) ar trebui convertite în entități HTML. Aceasta este doar funcția htmlspecialchars. Htmlentities convertește nu numai aceste caractere, ci multe altele (o listă exactă poate fi obținută prin funcția get_html_translation_table). Dacă utilizați utf-8 pe site, atunci nu aveți nevoie de el deloc.

Acum despre ce ar trebui să acordați atenție atunci când folosiți htmlspecialchars:
  • În al treilea parametru trebuie să specificați codificarea pe care o utilizați pe site.
  • Al doilea parametru este flagul ENT_QUOTES. pentru a converti atât ghilimele duble cât și cele simple. Deoarece atributele pot fi scrise atât folosind (href = "" și href = "). În html, trebuie să utilizați întotdeauna ghilimele atunci când scrieți atribute (nu scrieți src = image1.jpg).
  • În cel de-al doilea parametru, puteți specifica și pavilionul ENT_SUBSTITUTE (pentru php> = 5.4). În cazul în care linia dvs. conține caractere incorect codificate, acestea vor fi înlocuite cu un caracter Unicode. Fără steagul specificat, primiți un șir gol (detalii).

Versiunea finală a utilizării htmlspecialchars:


De asemenea, vă sfătuiesc să vedeți documentația pentru biblioteca Zend \ Escaper. care conține exemple de formatare corectă și incorectă a datelor atunci când sunt trimise către diferite părți ale documentului html.

Răspunsul dvs. la întrebare

Conectați-vă pentru a scrie un răspuns

  • Moscova
  • Cu normă întreagă
  • de la 40 000 de ruble.
  • Moscova
  • Cu normă întreagă
  • de la 150 000 la 180 000 de ruble.
  • Moscova
  • Cu normă întreagă
  • de la 150 000 la 180 000 de ruble.

100000 RUR / pe proiect

30000 RUR / pe proiect

30000 RUR / pe proiect

Conectați-vă la site

Pentru a pune o întrebare și pentru a primi un răspuns calificat la aceasta.

Articole similare