Why do most of the Joomla! PHP files start with defined(' JEXEC')?

From Joomla! Documentation

Revision as of 16:26, 1 September 2012 by JoomlaWikiBot (talk | contribs) (clean up categories with <noinclude> tags)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Most PHP files within Joomla! 1.5 begin with the following statement:

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

This statement checks to see if the file is being called from within a Joomla! session. This protects your site by making it more difficult for a cracker/hacker to damage your site.

However, this line should NOT be included in your main index.php file, since this is the program that starts the Joomla! session.