Când să folosești esc_html și când să folosești sanitize_text_field?

20 apr. 2014, 13:36:45
Vizualizări: 21.7K
Voturi: 15

Se pare că acestea fac aproape același tip de operațiune. Așadar...

Când ar trebui să folosesc esc_html() în loc de sanitize_text_field()?

0
Toate răspunsurile la întrebare 1
6
25

esc_html() este mai mult sau mai puțin fără pierderi — pur și simplu transformă marcajul HTML în text codificat vizibil, astfel încât să nu fie interpretat ca markup de către browser.

Din punct de vedere semantic, este o funcție de escapare, deci este destinată să fie folosită pentru a face ieșirea pe pagină sigură.

sanitize_text_field(), însă, elimină efectiv tot marcajul HTML, precum și spațiile albe în plus. Nu lasă decât text simplu.

Din punct de vedere semantic, este o funcție de sanitizare, deci este destinată să fie folosită pentru a face intrarea salvată sigură.

20 apr. 2014 15:24:51
Comentarii

nu e mai bine să folosesc esc_html atât pentru afișare cât și pentru salvare? Oricum nu voi afișa nicio marcaj... deci când ar trebui să folosesc sanitize_text_field()?

yeahman yeahman
20 apr. 2014 17:15:20

@yeahman "mai bine" în ce sens? Ele fac lucruri distinct diferite. Eliminarea marcajului se folosește de obicei pentru lucruri unde nu se așteaptă marcaj, de exemplu un formular care primește un nume.

Rarst Rarst
20 apr. 2014 17:37:38

Mă refer că stochează ceea ce vede utilizatorul și a introdus... cum ai spus, este fără pierderi.. (de ex. el introduce "tag-ul <head> este locul unde ar trebui să incluzi fișierele css", el se așteaptă să vadă <head> în postarea sa).

Pentru un câmp de nume, aș controla intrarea prin validare; nu e mai potrivit?

yeahman yeahman
20 apr. 2014 18:40:24

Sunt interesat de diferențele dintre sanitize_text_field() și strip_tags

myol myol
29 ian. 2015 16:24:17

strip_tags este folosit în sanitize_text_field() dacă nu greșesc

yeahman yeahman
23 feb. 2016 21:47:59

Dacă introduceți conținut într-un array codificat JSON, iar valorile din array conțin " (FOARTE probabil dacă conținutul dumneavoastră este, de exemplu, date de postare) atunci - deși sanitize_text_field() AR FI lucrul corect de făcut deoarece SALVAȚI date, nu va funcționa. Va trebui să folosiți esc_html, care codifică " și astfel, în momentul în care decodați JSON-ul dumneavoastră, NU va afecta valoarea returnată.

User User
10 mar. 2023 05:27:22
Arată celelalte 1 comentarii