De vez em quando, deparei com o seguinte snippet em temas:
if ( ! defined('ABSPATH')) exit('restricted access');
Está no início de alguns (todos?) Arquivos PHP em um tema e deve impedir o acesso direto ao arquivo por fontes nefastas.
Vejo que isso não está incluído no Twenty Ten or Eleven e nunca o vi recomendado na documentação oficial do WordPress. Parece uma boa ideia para mim, mas também não sei o suficiente sobre segurança para julgar e não consigo encontrar muito com o Google.
Isso é algo que eu deveria ter em meus temas personalizados? Se sim, deveria estar em todos os arquivos PHP ou apenas em alguns?
theme-development
security
mrwweb
fonte
fonte
defined('ABSPATH') OR exit;
defined('WPINC') ? : die();
PRespostas:
Normalmente, você não precisa disso. Mas ... há pelo menos um caso extremo:
on
,… Um invasor pode chamar esse arquivo, definir as variáveis ausentes com
GET
ouPOST
e fazer com que o arquivo de tema as imprima. E depois há é um problema de segurança.Então ... a melhor opção não é uma verificação de contexto como a do seu exemplo, mas um bom código: evite variáveis globais, verifique seu conteúdo antes de imprimi-lo.
Em alguns casos, adiciono a verificação de contexto quando penso que outra pessoa usará meu código e o alterará sem ter em mente a segurança. Não dói.
fonte