Quelle est la meilleure façon de nettoyer les données?
2 réponses
- votes
-
- 2011-01-29
Non,la désinfectionest déjàeffectuée.Ehbien,mysql_real_escape_string estterminé,ilest considéré comme unemauvaiseforme defiltrer le HTMLen entrée.Personnellement,je pense que lefaireen sortieenfreint unpeu DRY.Si vous l'avezfait dans WordPress,je soupçonnefortement qu'un autreendroit lefera ànouveau,ce quientraînera un doubleencodage d'entités html.
Deplus,wpdb ::insertestfondamentalementjuste un wrapperpour wpdb ::prepare.
No the sanitization is already done. Well the mysql_real_escape_string is done, it's considered bad form to filter html on input. I personally think doing it on output kinda breaches DRY. If you did in WordPress I highly suspect somewhere else will do it again resulting in double html entities encoding.
Also by the way, wpdb::insert is basically just a wrapper for wpdb::prepare.
-
Merci d'avoir clarifié cela.Iln'y a donc aucunintérêt à utiliser `wp_kses` avant de stocker des données dans DB?Outout autrefiltretrouvéici?http://codex.wordpress.org/Data_ValidationThanks for clearing that up. So there is no real point in using `wp_kses` before storing data to DB? Or any other filter found here? http://codex.wordpress.org/Data_Validation
- 0
- 2011-01-29
- Steven
-
Ehbien,je suppose que cela dépend vraiment de ce que vousfaites avec les données.Si vous legérez complètement vous-même,labonneformeest de lefaireen sortie.Well I guess it really depends what you're doing with the data. If you're handling it yourself completely then good form is to do it on output.
- 0
- 2011-01-29
- Backie
-
- 2011-01-29
Notez que stocker des donnéesen toute sécurité est différent des données sécurisées .Parexemple,le code JavaScriptpeut êtretotalementinoffensif dans le contexte de la sécurité de labase de données,mais cauchemar dans le contexte dufront-end.
Iln'y apas d'approcheglobale unique,c'estpourquoi WordPress a une quantité énorme defonctions connexes .
Vous devez considérer:
- Que sont les données?
- D'oùil vient.
- Comment va-t-il être utilisé?
Note that storing data safely is different from safe data. For example JavaScript code can be totally harmless in context of database security, but nightmare in context of front-end.
There is no single blanket approach, that is why WordPress has massive amount of related functions.
You must consider:
- What data is.
- Where it comes from.
- How is it going to be used.
-
Avez-vous debonnes référencespour lespoints 1-3?J'ai vu lapage de validation des données - c'est ce quej'utilisejusqu'àprésent.Maisje ne suistoujourspas sûr de lameilleurepratiquepour stocker/récupérer des données de lamanière laplus sûreentréepar les utilisateurs.Do you have any good references for point 1-3? I've seen the Data Validation page - that's what I've been using so far. But I'm still unsure of what is better practice for storing / retrieving data the safest way inputed by users.
- 0
- 2011-01-30
- Steven
-
@Stevenbien,cettepageest assez complète dans le contexte de WP.Lepoint leplusimportantest au début - "** les donnéesnonfiables ** [..] doivent être validées à lafois sur **entrée **et ** sortie **".Vous devez doncnettoyer les donnéesnonfiables quandelles vont dans labase de données (`->prepare ()`et autres)et quandelles vont à afficher (`esc_`et autres).@Steven well, that page is quite comprehensive in context of WP. Most important point is at start - " **untrusted** data [..] needs to be validated both on **input** and **output** ". So you need to sanitize untrusted data when it goes to database (`->prepare()` and such) and when it goes to display (`esc_` and such).
- 0
- 2011-01-30
- Rarst
J'ai luplusieurs sujets à ce sujetet différentespersonnes ont des opinions différentes sur lesbonnespratiques.
Entermes de WordPress,comment écrire des données dans labase de données de lamanière laplus sûre?
Voici uninsert quej'utilise actuellement:
Une autrefaçon d'insérer des donnéesest defaire ceci:
Dois-jeencorenettoyer les données à l'aide de
wp_kses()
oumysql_real_escape_string()
?Jene saispas quelleméthodeest lameilleurepour écrireen toute sécurité des données dans labase de données. J'aitrouvé une réponse utile sur Débordement depile .
Dois-je oune devrais-jepasnettoyer les données avant de les saisir?