我添加了一个不使用任何Joomla组件的自定义PHP页面。 我在.htaccess中进行了更改,现在可以访问该页面了。
链接就像http://www.example.com/administrator/mypage.php
但是每个人都可以访问该页面而无需登录管理面板。 我怎样才能让它只能由管理员查看?
我的Joomla版本是3。
非常感谢。
答案 0 :(得分:1)
首先,您的php页面必须包含joomla框架,否则您将无法使用任何joomla函数。
我通常在php文件的开头使用这段代码(php文件在根目录下):
define( '_JEXEC', 1 );
define('JPATH_BASE', './' ); //config this as you need
define( 'DS', DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
JDEBUG ? $_PROFILER->mark( 'afterLoad' ) : null;
$mainframe =& JFactory::getApplication('site');
$mainframe->initialise();
JPluginHelper::importPlugin('system');
JDEBUG ? $_PROFILER->mark('afterInitialise') : null;
$mainframe->triggerEvent('onAfterInitialise');
// Get user
$user = JFactory::getUser();
if ($user->authorise('core.admin')) {
//your code here
}
请记住,这不是一个正确的解决方案,您应该为joomla创建一个组件来扩展它。自定义php页面可能会产生安全问题。
希望它有所帮助, 马可