此行位于模板和模块的顶部:
defined('_JEXEC') or die('Restricted access');
此语句检查是否从Joomla中调用该文件!会话并通过使黑客/黑客更难以破坏您的网站来保护您的网站。
_JEXEC
在Joomla根目录的index.php
文件中定义!网站[source]是什么阻止某人在自己的网站中定义_JEXEC
并包含我的模块,因为defined('_JEXEC')
会返回true呢?
答案 0 :(得分:3)
我想如果黑客控制了你的网站_JEXEC - 测试将没有任何功能。但只要有人试图打破你的网站,代码就会确保他们不能直接在文件层次中执行文件,但总是必须通过/index.php输入。
阻止某人在自己的网站中定义_JEXEC的原因是什么 包括我的模块
这是不可能的。如果你试图在另一个站点上包含一个php文件,那么所有返回给你的是生成的输出,而不是php-code本身,对吧?
尊重Jonas
答案 1 :(得分:0)
主要思想是让Joomla以正确的顺序执行。如果没有可能向攻击者提供信息的先前操作,您的代码可能会抛出错误。