Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

390
Views
¿Qué significa [si (! definido ('ABSPATH'))]

Actualmente estoy construyendo un tema de WordPress desde cero, como un medio para 'aprender en el trabajo'. Tengo una experiencia moderada con el trabajo de back-end, aunque he dependido mucho de PageBuilders en el pasado. Ahora deseo crear un tema sin ningún generador de páginas como un medio para aumentar su velocidad de carga, etc.

Por ahora, estoy analizando la seguridad de los archivos del sitio web y me encontré con el siguiente término:

 <?php if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } ?>

Entiendo que esto impediría el acceso directo a los archivos web. No estoy completamente seguro de lo que significa esto. Por ejemplo, todavía podría acceder a los archivos a través de FTP, a través del servidor y a través del panel de WordPress. ¿Hay algún otro acceso directo que esto impida? ¿Quizás impidiendo el acceso a través de complementos de WordPress, etc.?

Con esto en mente, ¿sería correcto suponer que el código anterior debe colocarse en cada archivo dentro del tema como estándar? ¿Habría alguna excepción?

Cualquier explicación adicional sobre esto, sería muy apreciada.

about 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Evita que el usuario público acceda directamente a sus archivos .php a través de la URL. Porque si su archivo contiene algunas operaciones de E/S, eventualmente puede activarse (por un atacante) y esto podría causar un comportamiento inesperado.

Por lo tanto, el uso de fragmentos puede evitar el acceso desde sus archivos (directamente) y garantiza que los archivos de su tema se ejecutarán únicamente en el entorno de WordPress.

Uso:

  1. Se puede colocar en la parte superior de cualquiera de sus archivos PHP (tema y complemento)
  2. Se puede colocar en la parte superior de su wp-config.php

Espero eso ayude

about 4 years ago · Santiago Trujillo Report

0

ABSPATH es una constante de PHP definida por WordPress en la parte inferior de wp-config.php :

 /* That's all, stop editing! Happy blogging. */ /** Absolute path to the WordPress directory. */ if ( !defined('ABSPATH') ) define('ABSPATH', dirname(__FILE__) . '/');

Como puede ver en el bloque de comentarios anterior, WordPress no recomienda modificar estas líneas de código , probablemente porque muchos complementos y temas dependen de ABSPATH para verificar si sus archivos PHP se ejecutan dentro del entorno de WordPress.

Si usa este fragmento en la parte superior de su archivo wp-config.php , finalizará la ejecución de wp-config.php , porque ABSPATH aún no se ha definido en ese punto. Y otros archivos que dependen de wp-config.php fallarán (es decir, romperá su sitio web).

if ( ! defined( 'MY_CONSTANT' ) ) { exit; } es un fragmento ampliamente utilizado por archivos PHP de complementos y temas solo por convención . En teoría, significa que puede agregar su propia constante en la parte inferior de su wp-config.php y obtendrá el mismo resultado práctico.

Tu wp-config.php :

 if ( !defined('MY_CONSTANT') ) define('MY_CONSTANT', 'fool');

Su tema o archivo de complemento:

 <?php if ( ! defined( 'MY_CONSTANT' ) ) { exit; // Exit if accessed directly }

Más información

Definición de una constante en PHP: http://php.net/manual/en/language.constants.syntax.php

Constantes mágicas de PHP: http://php.net/manual/en/language.constants.predefined.php

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!