Szukaj…


Składnia

  • esc_html (ciąg $ tekst)
  • esc_url (string $ url, array $ protocols, string $ _context)
  • esc_js (ciąg $ tekst)
  • wp_json_encode (mieszane $ dane, int $ opcje, int $ głębokość = 512)
  • esc_attr (string $ text)
  • esc_textarea (string $ text)

Uwagi

Podczas opracowywania należy zawsze pamiętać o bezpieczeństwie. Bez zabezpieczeń aplikacja jest otwarta na różne ataki, takie jak SQL Injections, XSS, CSRF, RFI itp., Które mogą prowadzić do poważnych problemów.

Niezaufane dane pochodzą z wielu źródeł (użytkownicy, strony osób trzecich, twoja własna baza danych !, ...) i wszystkie muszą zostać zweryfikowane zarówno na wejściu, jak i na wyjściu. (Źródło: WordPress Codex)

Dane powinny być zatwierdzone, zdezynfekowane lub usunięte w zależności od zastosowania i celu.

Aby zweryfikować, upewnij się, że dane, o które prosiłeś użytkownika, są zgodne z przesłanymi przez Ciebie danymi. (Źródło: WordPress Codex)

Odkażanie jest nieco bardziej liberalne w podejściu do akceptowania danych użytkownika. Możemy powrócić do korzystania z tych metod, jeśli istnieje zakres dopuszczalnych danych wejściowych. (Źródło: WordPress Codex)

Aby uciec, należy wziąć dane, które już masz, i pomóc zabezpieczyć je przed renderowaniem dla użytkownika końcowego. (Źródło: WordPress Codex)

dane ucieczki w kodzie HTML

esc_html powinien być używany za każdym razem, gdy wysyłamy dane do kodu HTML.

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

uciec z adresu URL

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

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

dane ucieczki w kodzie js

esc_js() jest przeznaczona do stosowania w wbudowanym JS wewnątrz atrybutu tagu.

W przypadku danych wewnątrz znacznika <script> użyj wp_json_encode() .

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

wp_json_encode() koduje zmienną do JSON, z pewnymi sprawdzeniami wp_json_encode() .

Zauważ, że wp_json_encode() zawiera cudzysłowy rozdzielające ciąg.

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

lub

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

atrybuty ucieczki

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

dane ucieczki w polu tekstowym

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


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow