Recherche…


Syntaxe

  • esc_html (chaîne $ text)
  • esc_url (chaîne $ url, tableau $ protocoles, chaîne $ _context)
  • esc_js (chaîne $ text)
  • wp_json_encode (mixte $ data, int $ options, int $ depth = 512)
  • esc_attr (chaîne $ text)
  • esc_textarea (chaîne $ text)

Remarques

La sécurité doit toujours être à l’esprit lors du développement. Sans sécurité, une application est ouverte à diverses attaques telles que des injections SQL, XSS, CSRF, RFI, etc. qui peuvent entraîner de graves problèmes.

Les données non fiables proviennent de nombreuses sources (utilisateurs, sites tiers, votre propre base de données! ...) et tout cela doit être validé à la fois en entrée et en sortie. (Source: WordPress Codex)

Les données doivent être validées, désinfectées ou échappées en fonction de l'utilisation et du but.

Pour valider, vous devez vous assurer que les données que vous avez demandées à l'utilisateur correspondent à celles qu'elles ont soumises. (Source: WordPress Codex)

La désinfection est une approche un peu plus libérale de l’acceptation des données utilisateur. Nous pouvons recourir à ces méthodes lorsqu'il existe une gamme de données acceptables. (Source: WordPress Codex)

Echapper, c'est prendre les données que vous possédez déjà et aider à les sécuriser avant de les rendre à l'utilisateur final. (Source: WordPress Codex)

données d'échappement dans le code HTML

esc_html devrait être utilisé chaque fois que nous produisons des données à l'intérieur du code HTML.

<h4><?php echo esc_html( $title ); ?></h4>

échapper à une URL

<a href="<?php echo esc_url( home_url( '/' ) ); ?>">Home</a>

<img src="<?php echo esc_url( $user_picture_url ); ?>" />

données d'échappement en code js

esc_js() est destiné à être utilisé pour JS en ligne, à l'intérieur d'un attribut de balise.

Pour les données wp_json_encode() dans une <script> utilisez wp_json_encode() .

<input type="text" onfocus="if( this.value == '<?php echo esc_js( $fields['input_text'] ); ?>' ) { this.value = ''; }" name="name">

wp_json_encode() code une variable dans JSON, avec quelques vérifications de cohérence.

Notez que wp_json_encode() inclut automatiquement les guillemets de délimitation de chaîne.

<?php
$book = array(
    "title" => "JavaScript: The Definitive Guide",
    "author" => "Stack Overflow",
);
?>
<script type="text/javascript">
var book = <?php echo wp_json_encode($book) ?>;
/* var book = {
    "title": "Security in WordPress",
    "author" => "Stack Overflow",
}; */
</script>

ou

<script type="text/javascript">
    var title = <?php echo wp_json_encode( $title ); ?>;
    var content = <?php echo wp_json_encode( $content ); ?>;
    var comment_count = <?php echo wp_json_encode( $comment_count ); ?>;
</script>

attributs d'échappement

<input type="text" value="<?php echo esc_attr($_POST['username']); ?>" />

données d'échappement dans textarea

<textarea><?php echo esc_textarea( $text ); ?></textarea>


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow