WordPress
Seguridad en WordPress - Sanitización
Buscar..
Sintaxis
- sanitize_text_field (string $ str)
- sanitize_title (string $ title, string $ fallback_title, string $ context)
- sanitize_email (string $ email)
- sanitize_html_class (string $ class, string $ fallback)
- sanitize_file_name (string $ nombre)
- sanitize_user (string $ username, boolean $ strict)
Observaciones
La seguridad debe estar siempre en mente cuando se desarrolla. Sin seguridad, una aplicación está abierta a varios ataques, como las inyecciones de SQL, XSS, CSRF, RFI, etc., que pueden provocar graves problemas.
Los datos que no son de confianza provienen de muchas fuentes (usuarios, sitios de terceros, su propia base de datos, ...) y todo debe validarse tanto en la entrada como en la salida. (Sourse: WordPress Codex)
Los datos deben validarse, desinfectarse o escaparse según el uso y el propósito.
Para validar es para asegurarse de que los datos que ha solicitado del usuario coincidan con lo que han enviado. (Sourse: WordPress Codex)
La desinfección es un enfoque un poco más liberal para aceptar datos de usuarios. Podemos recurrir al uso de estos métodos cuando hay un rango de información aceptable. (Sourse: Wordpress Codex)
Escapar es tomar los datos que ya tiene y ayudar a protegerlos antes de procesarlos para el usuario final. (Sourse: WordPress Codex)
Desinfectar el campo de texto
$title = sanitize_text_field( $_POST['title'] );
Desinfectar título
El valor devuelto está destinado a ser adecuado para su uso en una URL, no como un título legible por humanos. Utilice sanitize_text_field en su lugar.
$new_url = sanitize_title($title);
Desinfectar el correo electrónico
$sanitized_email = sanitize_email(' [email protected]! ');
Desinfectar clase html
$post_class = sanitize_html_class( $post->post_title );
echo '<div class="' . $post_class . '">';
Desinfectar nombre de archivo
$incfile = sanitize_file_name($_REQUEST["file"]);
include($incfile . ".php");
Sin limpiar el nombre del archivo, un atacante podría simplemente pasar http: // attacker_site / malicous_page como entrada y ejecutar cualquier código en su servidor.
Desinfectar nombre de usuario
$user = sanitize_user("attacker username<script>console.log(document.cookie)</script>");
El valor de $ user después de sanear es "nombre de usuario del atacante"