WordPress
Bezpieczeństwo w WordPress - odkażanie
Szukaj…
Składnia
- sanitize_text_field (string $ str)
- sanitize_title (ciąg $ tytuł, ciąg $ fallback_title, ciąg $ kontekst)
- sanitize_email (string $ email)
- sanitize_html_class (string $ class, string $ fallback)
- sanitize_file_name (string $ name)
- sanitize_user (string $ nazwa użytkownika, boolean $ strict)
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: Kodeks WordPress)
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: Kodeks WordPress)
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: Kodeks Wordpress)
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: Kodeks WordPress)
Wyczyść pole tekstowe
$title = sanitize_text_field( $_POST['title'] );
Odkaż tytuł
Zwrócona wartość ma być odpowiednia do użycia w adresie URL, a nie jako tytuł czytelny dla człowieka. Zamiast tego użyj sanitize_text_field.
$new_url = sanitize_title($title);
Wyczyść e-mail
$sanitized_email = sanitize_email(' [email protected]! ');
Wyczyść klasę HTML
$post_class = sanitize_html_class( $post->post_title );
echo '<div class="' . $post_class . '">';
Wyczyść nazwę pliku
$incfile = sanitize_file_name($_REQUEST["file"]);
include($incfile . ".php");
Bez dezynfekcji nazwy pliku osoba atakująca może po prostu przekazać http: // site_atakującego / malicous_page jako dane wejściowe i wykonać dowolny kod na serwerze.
Wyczyść nazwę użytkownika
$user = sanitize_user("attacker username<script>console.log(document.cookie)</script>");
Wartość użytkownika $ po odkażeniu to „nazwa użytkownika atakującego”