Does My Child-Theme Functions.php Нужно, если {die} Security In It?

Я новичок в PHP, но я заметил, что почти каждый PHP-файл имеет фрагмент безопасности, скрипт «Die if not accessed in the correct manner» в начале; мой вопрос , нужна ли child-theme functions.php чтобы это было безопасно?

PHP:

 if ( ! defined( 'ABSPATH' ) ) { die( 'Direct Access Not Permitted' ); } 

Нужно ли это? Вероятно, нет (кроме этого края , реквизит @bravokeyl). Если вы добавите его? На мой взгляд, да:

  1. Из POV для кодирования / архитектуры вы объявляете, что «этому файлу нужен WordPress».
  2. Любое прямое попадание в один из файлов вашей темы (любопытные пользователи, боты, «детишки сценариев» и т. Д.) Undefined function get_header in /bada/bing/bada/boom утечь немного информации (скорее всего, файловой системы) и / или засорить ваши журналы ошибок (например, Undefined function get_header in /bada/bing/bada/boom )
  3. Повторяя 1), это просто хорошая практика.

Однако я абсолютно ненавижу это:

 die( 'Direct Access Not Permitted' ); 

ИМО это должно быть просто:

 if ( ! defined( 'ABSPATH' ) ) exit; 

Просто нет смысла иметь это «сообщение». И я большой поклонник exit . Он сообщает о том, что это ожидаемый возможный сценарий, и в этом случае я просто хочу уйти. Я использую die для «неожиданных» сценариев, таких как ошибки записи в файловой системе, ошибки базы данных и т. Д.

В большинстве случаев нет необходимости проверять defined( 'ABSPATH' ) в дочерней теме.

Нет. functions.php генерирует PHP-усталости при загрузке напрямую, так как использует WordPress API.

Если functions.php попыталась загрузить и загрузить WordPress, то да, это было бы необходимо, но если вы это сделали, то что-то пошло ужасно неправильно, и вам нужно начинать с нуля

Загрузка практически любых (если не всех) файлов WordPress напрямую не даст ничего, кроме белого экрана смерти, если у вас установлена ​​корректная отчетность об ошибках. Это связано с тем, что это приведет к фатальной ошибке PHP, останавливающей выполнение, а правильные общедоступные настройки отображения ошибок – не показывать их. Тем не менее, если вы пытаетесь замаскировать, что используете WordPress, или, по крайней мере, можете сделать это как можно дольше, тогда вам может понадобиться выполнить эту проверку, но внутри триггера кода 404 ответа.