Что такое defined ABSPATH

djdiplomat
На сайте с 05.08.2009
Offline
136
8723

В плагинах ВП во многих как на подбор часто встречается такое:

if ( ! defined( 'ABSPATH' ) ) {

exit;
}

Что это за константа такая? За что она в ВП отвечает?

LovelAss
На сайте с 05.06.2009
Offline
96
#1

Защита от прямого вызова скрипта.

djdiplomat
На сайте с 05.08.2009
Offline
136
#2
LovelAss:
Защита от прямого вызова скрипта.

Т.е. желательно все файлы плагинов так защищать?

C
На сайте с 26.10.2013
Offline
54
#3
djdiplomat:
Т.е. желательно все файлы плагинов так защищать?

Не желательно, а нужно

Услуги по парсингу данных (/ru/forum/939826), единоразовый и регулярный сбор данных. Любые объемы. Скрипты на PHP, создание и доработка, решение проблем с сайтами Пишите в личные сообщения или скайп
djdiplomat
На сайте с 05.08.2009
Offline
136
#4

// no direct access
defined('_JEXEC') or die ('Restricted access');

А вот это тоже часто в плагины вставляют. Судя по комменту проверяет соединение с сервером. Но мне не понятно, с каким сервером? Т.е. если файл загрузился - разве соединения нет? Или имеется ввиду сервер БД?

(Это самая первая строка плагина (не считая строки с версией и названием), причем плагин состоит из одного файла всего навсего)

TF-Studio
На сайте с 17.08.2010
Offline
334
#5

defined - проверяет, существует ли данная именованная константа.

http://www.php.su/defined

В момент инициализации систему задают константу и потом во всех файлах проверяют. Имя может быть любым, на свой вкус.

Всё ещё лучший способ заработка для белых сайтов: GoGetLinks (https://www.gogetlinks.net/?inv=fahbn8).
SX
На сайте с 24.10.2007
Offline
74
#6
djdiplomat:
// no direct access

defined('_JEXEC') or die ('Restricted access');

А вот это тоже часто в плагины вставляют.

Зная название файла и путь к нему, можно вызвать файл минуя точку входа. Это способ ограничить прямой доступ к файлу.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий