Доки почитал, от чего спасает defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); примерно понял. Вопрос: он должен быть в каждом файле? Т.е. например, во всех языковых файлах компонента и т.д.? А что делать с php файлами, которые открываются popup'ом? В них не передается _VALID_MOS => они выдают "Direct Access to this location is not allowed". Как я понял из доков, если в них нет include, то можно оставлять так?
Ответ: _VALID_MOS Не в каждых. Там где есть напрямую исполняемый код - там и должен быть. Например если есть файл Код (CODE): function xxx() { echo "123123"; } class asd { function XXX() { /*...*/} } То тут его вставлять не обязательно, потому что напрямую исполняемого кода тут нет - просто описания фукнций. Максимум что произойдет - пхп распарсит этот файл и определит что есть такие-то классы или функции, но ничего не вызывается, поэтому данная конструкция ничего не предотвращает - нечего предотвращать.
Ответ: _VALID_MOS ок, а там где есть: Код (CODE): ehco 'бла'; xxx(); echo 'бла-бла'; получается, надо?
Ответ: _VALID_MOS Если только echo то не надо, если что-то заморочистое, типа включения других файлов и расчетов - то надо. Но тут уже сам разработчик должен смотреть что и как.
Ответ: _VALID_MOS репутацию ставить не дает, говорит надо кому-то другому вначале поставить... поэтому просто большое спасибо!