Joomla开发 - 允许直接文件访问并使用Joomla-intern Framework

时间:2010-05-10 12:00:54

标签: php joomla joomla1.5

像往常一样,你在Joomla Development中写道

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

我制作了一个需要从Paypal / IPN访问的插件,所以我在那个特定的文件中排除了。 但是我还需要使用Joomla-intern Variables来访问数据库,所以我尝试了这个:

require("../filewithaccesstoframework.php");  

或者甚至

$baseurl = $_SERVER['HTTP_HOST'];
$baseurl ="http://".$baseurl."/configuration.php";
require($baseurl);  

通过使用第一个代码,它显示“Restircted Access”,因为它似乎是从包含的文件中取出来的,我无法跳过它放入那里。

第二个代码似乎没有识别config.php中使用的变量,如$ host,$ db,$ password。文件configuration.php是chmod 444

为什么会发生这种情况,是否存在允许直接访问文件和使用Joomla实习生框架(变量,函数)的工作空间?

3 个答案:

答案 0 :(得分:0)

我在你的情况下,最近一位客户已经要求用户从他们的内部网到joomla的sincronization,这对我来说很痛苦..然后在一点点瞪眼并潜入他们的论坛后,我在accessing the joomla framework via the CLI找到了一篇博文但是我没有测试过自己,直到他告诉我们他究竟想要什么

答案 1 :(得分:0)

我之前为Joomla开发了一个自定义IPN,遇到了同样的问题 您需要创建第二个入口点并在那里初始化应用程序。这样,您的IPN条目将具有Joomla Framework的所有函数/类/常量,但没有输出。

请参阅下面的这篇文章。您可以下载使用joomla框架运行的IPN的源代码 http://boolcast.com/joomla/3-development/13-joomla-custom-paypal-ipn

答案 2 :(得分:0)

require("../filewithaccesstoframework.php");  

// or

$baseurl = $_SERVER['HTTP_HOST'];
$baseurl ="http://".$baseurl."/configuration.php";
require($baseurl); 

作品