WordPress
Säkerhet i WordPress - Sanitet
Sök…
Syntax
- sanitize_text_field (sträng $ str)
- sanitize_title (string $ title, string $ fallback_title, string $ context)
- sanitize_email (sträng $ e-post)
- sanitize_html_class (string $ class, string $ fallback)
- sanitize_file_name (string $ name)
- sanitize_user (sträng $ användarnamn, boolean $ strikt)
Anmärkningar
Säkerhet bör alltid vara i åtanke när man utvecklar. Utan säkerhet är en app öppen för olika attacker som SQL Injektioner, XSS, CSRF, RFI etc som kan leda till allvarliga problem.
Otillförlitliga data kommer från många källor (användare, tredjepartswebbplatser, din egen databas!, ...) och allt måste valideras både på input och output. (Sourse: WordPress Codex)
Uppgifterna ska valideras, saneras eller undgås beroende på användning och syfte.
Att validera är att se till att de uppgifter du har begärt av användaren matchar vad de har skickat in. (Sourse: WordPress Codex)
Sanering är lite mer liberal när det gäller att acceptera användardata. Vi kan falla tillbaka till att använda dessa metoder när det finns en rad acceptabla input. (Sourse: Wordpress Codex)
Att fly är att ta de data du redan har och hjälpa till att säkra dem innan du lämnar dem till slutanvändaren. (Sourse: WordPress Codex)
Sanera textfältet
$title = sanitize_text_field( $_POST['title'] );
Rengör titeln
Det returnerade värdet är avsett att vara lämpligt för användning i en URL, inte som en mänsklig läsbar titel. Använd istället sanitize_text_field.
$new_url = sanitize_title($title);
Rengör e-post
$sanitized_email = sanitize_email(' [email protected]! ');
Sanera html-klassen
$post_class = sanitize_html_class( $post->post_title );
echo '<div class="' . $post_class . '">';
Rensa filnamnet
$incfile = sanitize_file_name($_REQUEST["file"]);
include($incfile . ".php");
Utan att sanera filnamnet kan en angripare enkelt skicka http: // attacker_site / malicous_page som inmatning och köra vilken kod som helst på din server.
Sanera användarnamnet
$user = sanitize_user("attacker username<script>console.log(document.cookie)</script>");
$ användarvärde efter sanering är "angrepsanvändarnamn"