Добрый день, возникла необходимость собирать логи с машин, всё настроено и функционирует подобающим образом, но прежде чем пустить в продакшн столкнулся с одной проблемой. Любой неавторизованный пользователь может спокойной гулять по страницам сайта. Я в PHP не особо разбираюсь, в течении дня пытался разобраться самостоятельно, но ничего не вышло. Буду благодарен любой помощи. Что имеем: Ubuntu 18 LogAnalyzer 4.1.6 Что удалось узнать: На сайте есть вкладки, такие как search и admin, во вкладку admin просто так не попадешь, выдаёт ошибку и ссылку на страницу входа, непосредственно код:
InitUserSession();
if (!$content['SESSION_LOGGEDIN']) {
// Check if user needs to be logged in
if (GetConfigSetting("UserDBLoginRequired", false)) {
// Redirect USER if not on loginpage or installpage!
if (!defined("IS_NOLOGINPAGE") && !defined("IN_PHPLOGCON_INSTALL") && !defined("IN_PHPLOGCON_COMMANDLINE")) {
RedirectToUserLogin();
}
} else {
if (defined('IS_ADMINPAGE')) {
// Language System not initialized yet
DieWithFriendlyErrorMsg("You need to be logged in in order to access the admin pages.",
Код search.php
define('IN_PHPLOGCON', true);
$gl_root_path = './';
include($gl_root_path . 'include/functions_common.php');
include($gl_root_path . 'include/functions_frontendhelpers.php');
include($gl_root_path . 'include/functions_filters.php');
InitPhpLogCon();
InitSourceConfigs();
InitFrontEndDefaults(); // Only in WebFrontEnd
// Init Langauge first!
// IncludeLanguageFile( $gl_root_path . '/lang/' . $LANG . '/main.php' );
// Helpers for frontend filtering!
InitFilterHelpers();
// *** *** //
// --- Extra Javascript?
$content['EXTRA_JAVASCRIPT'] = "<script type='text/javascript' src='" . $content['BASEPATH'] . "js/searchhelpers.js'></script>";
// ---
// --- CONTENT Vars
// Init Sorting variables
$content['searchstr'] = "";
// ---
Код admin.php
// *** Default includes and procedures *** //
define('IN_PHPLOGCON', true);
$gl_root_path = './../';
// Now include necessary include files!
include($gl_root_path . 'include/functions_common.php');
include($gl_root_path . 'include/functions_frontendhelpers.php');
include($gl_root_path . 'include/functions_filters.php');
// Include LogStream facility
// include($gl_root_path . 'classes/logstream.class.php');
// Set PAGE to be ADMINPAGE!
define('IS_ADMINPAGE', true);
$content['IS_ADMINPAGE'] = true;
InitPhpLogCon();
InitSourceConfigs();
InitFrontEndDefaults(); // Only in WebFrontEnd
InitFilterHelpers(); // Helpers for frontend filtering!
// Init admin langauge file now!
IncludeLanguageFile( $gl_root_path . '/lang/' . $LANG . '/admin.php' );
// --- Deny if DisableAdminUsers is enabled and User is not ADMIN
if ( !isset($_SESSION['SESSION_ISADMIN']) || $_SESSION['SESSION_ISADMIN'] == 0 )
{
if ( GetConfigSetting("DisableAdminUsers", 0, CFGLEVEL_GLOBAL) == 1 )
DieWithFriendlyErrorMsg( $content['LN_ADMIN_ERROR_NOTALLOWED'] );
}
// ---
// --- Deny if User is READONLY!
if ( !isset($_SESSION['SESSION_ISREADONLY']) || $_SESSION['SESSION_ISREADONLY'] == 1 )
{
if ( isset($_POST['op']) ||
(
isset($_GET['op']) &&
(
$_GET['op'] == "enableuserops"
)
)
)
DieWithFriendlyErrorMsg( $content['LN_ADMIN_ERROR_READONLY'] );
}
// ---
// --- BEGIN Custom Code
if ( isset($_SESSION['SESSION_ISADMIN']) && $_SESSION['SESSION_ISADMIN'] == 1 )
{
$content['EditAllowed'] = true;
$content['DISABLE_GLOBALEDIT_FORMCONTROL'] = "";
}
else
{
$content['EditAllowed'] = false;
$content['DISABLE_GLOBALEDIT_FORMCONTROL'] = "disabled";
}
Пытался их совместить, но ничего не вышло.