Security 定义(';"JEXEC';")或死(';受限访问';)是如何工作的?
该行位于模板和模块的顶部:Security 定义(';"JEXEC';")或死(';受限访问';)是如何工作的?,security,joomla,Security,Joomla,该行位于模板和模块的顶部: defined('u-JEXEC')或die('Restricted access') 从以下方面: 此语句检查文件是否从Joomla中调用!会话,它通过使黑客更难破坏您的站点来保护您的站点 \u JEXEC在Joomla的根目录中的index.php文件中定义!站点,是什么阻止人们在自己的站点中定义\u-JEXEC并包括我的模块,因为定义的(“\u-JEXEC”)将返回true?我猜如果黑客控制了您的站点,\u-JEXEC-测试将没有任何功能。但是,只要有人试图破坏
defined('u-JEXEC')或die('Restricted access')代码>
从以下方面:
此语句检查文件是否从Joomla中调用!会话,它通过使黑客更难破坏您的站点来保护您的站点
\u JEXEC
在Joomla的根目录中的index.php
文件中定义!站点,是什么阻止人们在自己的站点中定义\u-JEXEC
并包括我的模块,因为定义的(“\u-JEXEC”)
将返回true?我猜如果黑客控制了您的站点,\u-JEXEC-测试将没有任何功能。但是,只要有人试图破坏您的站点,代码就会确保他们不能直接在文件层次结构中执行文件,而必须始终通过/index.php输入
是什么阻止人们在自己的网站上定义_JEXEC
包括我的模块
这是不可能的。如果您试图在另一个站点上包含一个php文件,那么返回给您的只是生成的输出,而不是php代码本身,对吗
关于乔纳斯,主要的想法是让乔姆拉按正确的顺序执行。您的代码可能会抛出错误,而没有前面的操作,这些操作可能会向攻击者提供信息。但是,在只包含声明(如类和函数)的文件中,这一行将无效?是的,调用这样的文件不会执行任何操作,不管_JEXEC-语句是什么,都会抛出任何编译时错误。很高兴知道,因为PSR-2标准与在同一个文件中同时具有副作用和类声明相冲突(Joomla不支持名称空间,这是PSR-2的另一个要求…)。非常感谢。