ldc-sbv/wp-content/plugins/wp-security-scan/wss-settings.php
2021-09-21 15:01:08 +02:00

144 lines
6 KiB
PHP

<?php if(! defined('WPS_PLUGIN_PREFIX')) exit;
class WpsSettings
{
/**
* Whether or not logging is enabled. Defaults to false
*/
const WPS_DEBUG = false;
/**
* Set the time execution (in seconds) for WP Scanner. Defaults to 0 (no timeout)
*/
const WPS_MAX_TIME_EXEC_LIMIT = 0;
/**
* Informational alert. Value: 0
*/
const ALERT_INFO = 0;
/**
* Low alert. Value: 1
*/
const ALERT_LOW = 1;
/**
* Medium alert. Value: 2
*/
const ALERT_MEDIUM = 2;
/**
* Critical alert. Value: 3
*/
const ALERT_CRITICAL = 3;
const ALERT_TYPE_OVERWRITE = 0;
const ALERT_TYPE_STACK = 1;
//#! The max number of stacked alerts to keep
const ALERT_STACK_MAX_KEEP = 15;
const ALERTS_TABLE_NAME = '_wsd_plugin_alerts';
const LIVE_TRAFFIC_TABLE_NAME = '_wsd_plugin_live_traffic';
const SCAN_TABLE_NAME = '_wsd_plugin_scan';
const SCANS_TABLE_NAME = '_wsd_plugin_scans';
const TEXT_DOMAIN = 'WSDWP_SECURITY';
const PLUGIN_CAN_RUN_OPTION = 'WPS_PLUGIN_CAN_RUN';
const PLUGIN_SETTINGS_OPTION_NAME = 'wps_plugin_settings';
const PLUGIN_ERROR_NOTICE_OPTION = 'wps_plugin_install_error';
/**
* Set the path to the acunetix.com feed
*/
const BLOG_FEED = 'http://feeds.acunetix.com/acunetixwebapplicationsecurityblog';
/** Holds the name of the option that will hold the WP Scan settings */
const WP_FILE_SCAN_OPTION_NAME = 'wps_plugin_wp_scan';
const FEED_DATA_OPTION_NAME = 'wps_plugin_feed_data';
const BLOG_DATA_OPTION_NAME = 'wps_plugin_blogfeed_data';
const ENABLE_LIVE_TRAFFIC = 'wps_plugin_enable_live_traffic';
//#! Whether or not tasks can run
const CAN_RUN_TASKS_OPTION_NAME = 'wps_can_run_tasks';
const LIVE_TRAFFIC_ENTRIES = 'wps_live_traffic_entries';
static $scanTypes = array(
0 => 'Today',
1 => 'Yesterday',
2 => '2 days ago',
3 => '3 days ago',
4 => '4 days ago',
5 => '5 days ago',
6 => '6 days ago',
7 => '7 days ago',
8 => 'Last month',
);
static $ignoreThemes = array('twentyten', 'twentyeleven', 'twentytwelve', 'twentythirteen');
static $ignorePlugins = array('akismet', 'hello.php');
/**
* Sets the list of files to check for permissions
* @return array
*/
static function getScanFileList()
{
$_wpsPlugin_base_path = trailingslashit(ABSPATH);
$_wpsPluginWpConfigPath = WsdUtil::getWpConfigFilePath();
return array(
//@@ Directories
'root directory' => array( 'filePath' => $_wpsPlugin_base_path, 'suggestedPermissions' => '0755'),
'wp-admin' => array( 'filePath' => $_wpsPlugin_base_path.'wp-admin', 'suggestedPermissions' => '0755'),
'wp-content' => array( 'filePath' => $_wpsPlugin_base_path.'wp-content', 'suggestedPermissions' => '0755'),
'wp-includes' => array( 'filePath' => $_wpsPlugin_base_path.'wp-includes', 'suggestedPermissions' => '0755'),
//@@ Files
'.htaccess' => array( 'filePath' => $_wpsPlugin_base_path.'.htaccess', 'suggestedPermissions' => '0644'),
'readme.html' => array( 'filePath' => $_wpsPlugin_base_path.'readme.html', 'suggestedPermissions' => '0400'),
'wp-config.php' => array( 'filePath' => $_wpsPluginWpConfigPath, 'suggestedPermissions' => '0644'),
'wp-admin/index.php' => array( 'filePath' => $_wpsPlugin_base_path.'wp-admin/index.php', 'suggestedPermissions' => '0644'),
'wp-admin/.htaccess' => array( 'filePath' => $_wpsPlugin_base_path.'wp-admin/.htaccess', 'suggestedPermissions' => '0644'),
);
}
/**
* @TODO: Always keep in sync with methods from WsdSecurity class...
* @return array
*/
static function getSettingsList()
{
return array(
array('name' => 'fix_hideWpVersion',
'text' => 'Hide WordPress version for all users but administrators'),
array('name' => 'fix_removeWpMetaGeneratorsFrontend',
'text' => 'Remove various meta tags generators from the blog\'s head tag for non-administrators'),
array('name' => 'fix_removeReallySimpleDiscovery',
'text' => 'Remove Really Simple Discovery meta tags from front-end'),
array('name' => 'fix_removeWindowsLiveWriter',
'text' => 'Remove Windows Live Writer meta tags from front-end'),
array('name' => 'fix_disableErrorReporting',
'text' => 'Disable error reporting (php + db) for all but administrators'),
array('name' => 'fix_removeCoreUpdateNotification',
'text' => 'Remove core update notifications from back-end for all but administrators'),
array('name' => 'fix_removePluginUpdateNotifications',
'text' => 'Remove plug-ins update notifications from back-end'),
array('name' => 'fix_removeThemeUpdateNotifications',
'text' => 'Remove themes update notifications from back-end'),
array('name' => 'fix_removeLoginErrorNotificationsFrontEnd',
'text' => 'Remove login error notifications from front-end'),
array('name' => 'fix_hideAdminNotifications',
'text' => 'Hide admin notifications for non admins'),
array('name' => 'fix_preventDirectoryListing',
'text' => 'Try to create the index.php file in the wp-content, wp-content/plugins, wp-content/themes and wp-content/uploads directories to prevent directory listing'),
array('name' => 'fix_removeWpVersionFromLinks',
'text' => 'Remove the version parameter from urls'),
array('name' => 'fix_emptyReadmeFileFromRoot',
'text' => 'Empty the content of the readme.html file from the root directory'),
);
}
static function getJsonRepoUrl(){
$dirPath = WPS_PLUGIN_DIR.'res/json/fscan/';
if(! is_dir($dirPath)){
return null;
}
return $dirPath;
}
}