Me he encontrado con el siguiente fragmento de temas de vez en cuando:
if ( ! defined('ABSPATH')) exit('restricted access');
Está al principio de algunos (¿todos?) Archivos PHP en un tema y se supone que impide el acceso directo al archivo por parte de fuentes nefastas.
Veo que esto no está incluido en Twenty Ten u Eleven y nunca lo he visto recomendado en la documentación oficial de WordPress. Me parece una buena idea, pero tampoco sé lo suficiente sobre seguridad para juzgarlo y no puedo encontrar mucho con Google.
¿Es esto algo que debería tener en mis temas personalizados? Si es así, ¿debería estar en todos los archivos PHP o solo en algunos?
theme-development
security
mrwweb
fuente
fuente
defined('ABSPATH') OR exit;
defined('WPINC') ? : die();
PRespuestas:
Por lo general, no lo necesitas. Pero ... hay al menos un caso límite:
on
,… Un atacante puede llamar a este archivo, establecer las variables que faltan con
GET
oPOST
y hacer que el archivo del tema las imprima. Y entonces no es un problema de seguridad.Entonces ... la mejor opción no es una verificación de contexto como la de su ejemplo, sino un buen código: evite las variables globales, verifique su contenido antes de imprimirlo.
En algunos casos, agrego la verificación de contexto cuando creo que alguien más usará mi código y lo cambiará sin tener en cuenta la seguridad. No duele
fuente