The first section of PHP code that we see in the Beez2 template is the following:

// No direct access.
defined('_JEXEC') or die;

 

What is _JEXEC used for?

The first line, No direct access, is simply a PHP comment, it does not do anything. What it does tell us however is that the code below it is designed to stop the rest of the template's execution if this template file is accessed directly.

For example, if we access the Beez2 index file directly using the following url:
http://mydomain.com/templates/beez_20/index.php
... we simply get a blank page. This is a security measure in place by Joomla.

We can confirm this by adjusting the code as follows:

The new code The new results
// No direct access.
defined('_JEXEC') or die("No direct access to this file allowed.");
no-direct-access-allowed

 

Where is _JEXEC defined?

The _JEXEC variable is defined in the Joomla 2.5 index.php file in root directory, and is done so by the following code:

// Set flag that this is a parent file.
define('_JEXEC', 1);

We can confirm this by editing the Joomla 2.5 index file an changing the value of _JEXEC from 1 to 123456, as in:

// Set flag that this is a parent file.
define('_JEXEC', 123456);

When we edit our template file and add code to print this value, you can see the results below:

Added code to our template Results on screen
// No direct access.
echo _JEXEC;
defined('_JEXEC') or die;
123456-jexec
Like this Article?

Login to comment.

Your Opinion Matters

... but we need to know what you're thinking!

I'm Brad Markle, your friendly Community Support technician, and I wrote the article you're looking at now. I like to think it's perfect, but I'm sure you have some suggestions. Please, let me know what they are!

Feedback
Your Email Address
Because we'd like to talk with you!

Latest Questions

If you need some help, submit your question to our Community!
We guarantee a response within 60 minutes (8am - 9pm EST, Monday - Friday)
Ask a Question!
Recent Questions
  1. I can't access my website
  2. we-creation.com server down
  3. How do I delete the DNS entry?

Need more Help?

Search

Ask the Community!

Get help with your questions from our community of like-minded hosting users and InMotion Hosting Staff.

Current Customers

Chat: Click to Chat Now E-mail: support@InMotionHosting.com
Call: 888-321-HOST (4678) Ticket: Submit a Support Ticket

Not a Customer?

Get web hosting from a company that is here to help. Sign up today!