security - 定义的 ('_JEXEC' )或死 ('Restricted access' )如何工作?

标签 security joomla

此行位于模板和模块的顶部:
defined('_JEXEC') or die('Restricted access');
来自Joomla! Documentation :

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


_JEXECindex.php 中定义Joomla 根目录中的文件!网站 [source] ,是什么阻止了某人定义 _JEXEC在他们自己的网站上,包括我的模块,因为 defined('_JEXEC')那么会返回true吗?

最佳答案

我猜如果黑客控制了您的站点,_JEXEC - 测试将没有任何功能。但只要有人只是试图破坏你的网站,代码就会确保他们不能直接在文件层次结构中执行文件,而总是必须通过/index.php 进入。

what stops someone from defining _JEXEC in their own site and including my module



这是不可能的。如果您尝试在另一个站点上包含一个 php 文件,那么将返回给您的只是生成的输出,而不是 php 代码本身,对吗?

关于乔纳斯

关于security - 定义的 ('_JEXEC' )或死 ('Restricted access' )如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22852355/

相关文章:

wcf - 如何在 WCF 服务中使用消息安全性和用户名 clientCredentialType 而无需证书?

javascript - 代码摘录 : Does this create a vulnerability to XSS?

php - Joomla 性能问题 CPU/内存 100% 使用率

php - Joomla 输出覆盖不起作用

css - Android、Joomla 中的背景显示不正确

jquery - 从 jQuery 安全地调用安全的 WebService

java - java客户端可以知道服务器是否请求证书吗?

css - 使用IE8时的artsexylightbox问题

css - 如何为 joomla 中的每个模板添加不同的 css 类

php - Symfony 3 安全性 - Access_control 不适用于一条路由