Ricerca…


Sintassi

  • esc_html (stringa $ testo)
  • esc_url (stringa $ url, matrice $ protocolli, stringa $ _context)
  • esc_js (stringa $ testo)
  • wp_json_encode (mixed $ data, int $ options, int $ depth = 512)
  • esc_attr (stringa $ testo)
  • esc_textarea (stringa $ testo)

Osservazioni

La sicurezza dovrebbe essere sempre presente quando si sviluppa. Senza sicurezza un'app è aperta a vari attacchi come Iniezioni SQL, XSS, CSRF, RFI ecc che possono portare a seri problemi.

I dati non attendibili provengono da molte fonti (utenti, siti di terze parti, il proprio database !, ...) e tutto deve essere convalidato sia in input che in output. (Fonte: codice WordPress)

I dati devono essere convalidati, disinfettati o salvati in base all'utilizzo e allo scopo.

Convalidare è garantire che i dati che hai richiesto all'utente corrispondano a ciò che hanno inviato. (Fonte: codice WordPress)

La sanitizzazione è un po 'più liberale nell'accettare i dati degli utenti. Possiamo ricorrere all'utilizzo di questi metodi quando esiste una gamma di input accettabili. (Fonte: codice WordPress)

Per fuggire è necessario prendere i dati che potresti già avere e proteggerli prima di renderli per l'utente finale. (Fonte: codice WordPress)

sfuggire i dati nel codice HTML

esc_html deve essere utilizzato ogni volta che si generano dati all'interno del codice HTML.

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

sfuggire a un URL

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

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

dati di escape nel codice js

esc_js() è progettato per essere utilizzato per JS inline, all'interno di un attributo tag.

Per i dati all'interno di un tag <script> usa wp_json_encode() .

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

wp_json_encode() codifica una variabile in JSON, con alcuni controlli di wp_json_encode() .

Si noti che wp_json_encode() include automaticamente le virgolette di delimitazione delle stringhe.

<?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>

o

<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>

attributi di fuga

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

dati di fuga in textarea

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


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow