444 lines
No EOL
24 KiB
PHP
444 lines
No EOL
24 KiB
PHP
<?php
|
|
|
|
class wfSupportController {
|
|
const ITEM_INDEX = 'index';
|
|
const ITEM_FREE = 'free';
|
|
const ITEM_PREMIUM = 'premium';
|
|
|
|
const ITEM_CHANGELOG = 'changelog';
|
|
|
|
const ITEM_NOTICE_WAF_INACCESSIBLE_CONFIG = 'notice-waf-inaccessible-config';
|
|
const ITEM_NOTICE_WAF_MOD_PHP_FIX = 'notice-waf-mod-php-fix';
|
|
const ITEM_NOTICE_WAF_READ_ONLY_WARNING = 'notice-waf-read-only-warning';
|
|
const ITEM_NOTICE_MISCONFIGURED_HOW_GET_IPS = 'notice-misconfigured-how-get-ips';
|
|
const ITEM_NOTICE_SWITCH_LIVE_TRAFFIC = 'notice-switch-live-traffic';
|
|
|
|
const ITEM_LOCKED_OUT = 'locked-out';
|
|
const ITEM_AJAX_BLOCKED = 'ajax-blocked';
|
|
const ITEM_USING_BREACH_PASSWORD = 'using-breach-password';
|
|
|
|
const ITEM_WIDGET_LOCAL_ATTACKS = 'widget-local-attacks';
|
|
|
|
const ITEM_VERSION_WORDPRESS = 'version-wordpress';
|
|
const ITEM_VERSION_PHP = 'version-php';
|
|
const ITEM_VERSION_OPENSSL = 'version-ssl';
|
|
|
|
const ITEM_GDPR = 'gdpr';
|
|
const ITEM_GDPR_DPA = 'gdpr-dpa';
|
|
|
|
const ITEM_GENERAL_REMOTE_IP_LOOKUP = 'general-remote-ip-lookup';
|
|
|
|
const ITEM_DASHBOARD = 'dashboard';
|
|
const ITEM_DASHBOARD_STATUS_FIREWALL = 'dashboard-status-firewall';
|
|
const ITEM_DASHBOARD_STATUS_SCAN = 'dashboard-status-scan';
|
|
const ITEM_DASHBOARD_OPTIONS = 'dashboard-options';
|
|
const ITEM_DASHBOARD_OPTION_API_KEY = 'dashboard-option-api-key';
|
|
const ITEM_DASHBOARD_OPTION_HOW_GET_IPS = 'dashboard-option-how-get-ips';
|
|
const ITEM_DASHBOARD_OPTION_AUTOMATIC_UPDATE = 'dashboard-option-automatic-update';
|
|
const ITEM_DASHBOARD_OPTION_ALERT_EMAILS = 'dashboard-option-alert-emails';
|
|
const ITEM_DASHBOARD_OPTION_HIDE_VERSION = 'dashboard-option-hide-version';
|
|
const ITEM_DASHBOARD_OPTION_DISABLE_UPLOADS_EXECUTION = 'dashboard-option-disable-uploads-execution';
|
|
const ITEM_DASHBOARD_OPTION_DISABLE_COOKIES = 'dashboard-option-disable-cookies';
|
|
const ITEM_DASHBOARD_OPTION_PAUSE_LIVE_UPDATES = 'dashboard-option-pause-live-updates';
|
|
const ITEM_DASHBOARD_OPTION_UPDATE_INTERVAL = 'dashboard-option-refresh-period';
|
|
const ITEM_DASHBOARD_OPTION_LITESPEED_WARNING = 'dashboard-litespeed-warning';
|
|
const ITEM_DASHBOARD_OPTION_BYPASS_LITESPEED_CHECK = 'dashboard-option-bypass-litespeed-check';
|
|
const ITEM_DASHBOARD_OPTION_DELETE_DEACTIVATION = 'dashboard-option-delete-deactivation';
|
|
const ITEM_DASHBOARD_OPTION_EXPORT = 'dashboard-option-export';
|
|
const ITEM_DASHBOARD_OPTION_IMPORT = 'dashboard-option-import';
|
|
|
|
const ITEM_FIREWALL_WAF = 'firewall-waf';
|
|
const ITEM_FIREWALL_WAF_STATUS_OVERALL = 'firewall-waf-status-overall';
|
|
const ITEM_FIREWALL_WAF_STATUS_RULES = 'firewall-waf-status-rules';
|
|
const ITEM_FIREWALL_WAF_STATUS_BLACKLIST = 'firewall-waf-status-blacklist';
|
|
const ITEM_FIREWALL_WAF_STATUS_BRUTE_FORCE = 'firewall-waf-status-brute-force';
|
|
const ITEM_FIREWALL_WAF_INSTALL_MANUALLY = 'firewall-waf-install-manually';
|
|
const ITEM_FIREWALL_WAF_INSTALL_NGINX = 'firewall-waf-install-nginx';
|
|
const ITEM_FIREWALL_WAF_REMOVE_MANUALLY = 'firewall-waf-remove-manually';
|
|
const ITEM_FIREWALL_WAF_LEARNING_MODE = 'firewall-waf-learning-mode';
|
|
const ITEM_FIREWALL_WAF_RULES = 'firewall-waf-rules';
|
|
const ITEM_FIREWALL_WAF_WHITELIST = 'firewall-waf-whitelist';
|
|
const ITEM_FIREWALL_WAF_OPTION_DELAY_BLOCKING = 'firewall-waf-option-delay-blocking';
|
|
const ITEM_FIREWALL_WAF_OPTION_WHITELISTED_IPS = 'firewall-waf-option-whitelisted-ips';
|
|
const ITEM_FIREWALL_WAF_OPTION_WHITELISTED_SERVICES = 'firewall-waf-option-whitelisted-services';
|
|
const ITEM_FIREWALL_WAF_IGNORED_ALERT_IPS = 'firewall-waf-option-ignored-alert-ips';
|
|
const ITEM_FIREWALL_WAF_OPTION_IMMEDIATELY_BLOCK_URLS = 'firewall-waf-option-immediately-block-urls';
|
|
const ITEM_FIREWALL_WAF_OPTION_ENABLE_LOGIN_SECURITY = 'firewall-waf-option-enable-login-security';
|
|
const ITEM_FIREWALL_WAF_OPTION_LOCK_OUT_FAILURE_COUNT = 'firewall-waf-option-lock-out-failure-count';
|
|
const ITEM_FIREWALL_WAF_OPTION_LOCK_OUT_FORGOT_PASSWORD_COUNT = 'firewall-waf-option-lock-out-forgot-password-count';
|
|
const ITEM_FIREWALL_WAF_OPTION_COUNT_TIME_PERIOD = 'firewall-waf-option-count-time-period';
|
|
const ITEM_FIREWALL_WAF_OPTION_LOCKOUT_DURATION = 'firewall-waf-option-lockout-duration';
|
|
const ITEM_FIREWALL_WAF_OPTION_IMMEDIATELY_LOCK_OUT_INVALID_USERS = 'firewall-waf-option-immediately-lock-out-invalid-users';
|
|
const ITEM_FIREWALL_WAF_OPTION_IMMEDIATELY_BLOCK_USERS = 'firewall-waf-option-immediately-block-users';
|
|
const ITEM_FIREWALL_WAF_OPTION_ENFORCE_STRONG_PASSWORDS = 'firewall-waf-option-enforce-strong-passwords';
|
|
const ITEM_FIREWALL_WAF_OPTION_PREVENT_BREACH_PASSWORDS = 'firewall-waf-option-prevent-breach-passwords';
|
|
const ITEM_FIREWALL_WAF_OPTION_MASK_LOGIN_ERRORS = 'firewall-waf-option-mask-login-errors';
|
|
const ITEM_FIREWALL_WAF_OPTION_PREVENT_ADMIN_REGISTRATION = 'firewall-waf-option-prevent-admin-registration';
|
|
const ITEM_FIREWALL_WAF_OPTION_PREVENT_AUTHOR_SCAN = 'firewall-waf-option-prevent-author-scan';
|
|
const ITEM_FIREWALL_WAF_OPTION_DISABLE_APPLICATION_PASSWORDS = 'firewall-waf-option-disable-application-passwords';
|
|
const ITEM_FIREWALL_WAF_OPTION_BLOCK_BAD_POST = 'firewall-waf-option-block-bad-post';
|
|
const ITEM_FIREWALL_WAF_OPTION_CUSTOM_BLOCK_TEXT = 'firewall-waf-option-custom-block-text';
|
|
const ITEM_FIREWALL_WAF_OPTION_CHECK_PASSWORD = 'firewall-waf-option-check-password';
|
|
const ITEM_FIREWALL_WAF_OPTION_PARTICIPATE_WFSN = 'firewall-waf-option-participate-wfsn';
|
|
const ITEM_FIREWALL_WAF_OPTION_ENABLE_ADVANCED_BLOCKING = 'firewall-waf-option-enable-advanced-blocking';
|
|
const ITEM_FIREWALL_WAF_OPTION_IMMEDIATELY_BLOCK_FAKE_GOOGLE = 'firewall-waf-option-immediately-block-fake-google';
|
|
const ITEM_FIREWALL_WAF_OPTION_GOOGLE_ACTION = 'firewall-waf-option-google-action';
|
|
const ITEM_FIREWALL_WAF_OPTION_RATE_LIMIT_ANY = 'firewall-waf-option-rate-limit-any';
|
|
const ITEM_FIREWALL_WAF_OPTION_RATE_LIMIT_CRAWLER = 'firewall-waf-option-rate-limit-crawler';
|
|
const ITEM_FIREWALL_WAF_OPTION_RATE_LIMIT_CRAWLER_404 = 'firewall-waf-option-rate-limit-crawler-404';
|
|
const ITEM_FIREWALL_WAF_OPTION_RATE_LIMIT_HUMAN = 'firewall-waf-option-rate-limit-human';
|
|
const ITEM_FIREWALL_WAF_OPTION_RATE_LIMIT_HUMAN_404 = 'firewall-waf-option-rate-limit-human-404';
|
|
const ITEM_FIREWALL_WAF_OPTION_RATE_LIMIT_ANY_404 = 'firewall-waf-option-rate-limit-any-404';
|
|
const ITEM_FIREWALL_WAF_OPTION_AUTOMATIC_BLOCK_DURATION = 'firewall-waf-option-automatic-block-duration';
|
|
const ITEM_FIREWALL_WAF_OPTION_WHITELISTED_404 = 'firewall-waf-option-whitelisted-404';
|
|
const ITEM_FIREWALL_WAF_OPTION_MONITOR_AJAX = 'firewall-waf-option-monitor-ajax';
|
|
|
|
const ITEM_FIREWALL_BLOCKING = 'firewall-blocking';
|
|
const ITEM_FIREWALL_BLOCKING_FILTER = 'firewall-blocking-filter';
|
|
const ITEM_FIREWALL_BLOCKING_OPTION_WHAT_TO_DO = 'firewall-blocking-option-what-to-do';
|
|
const ITEM_FIREWALL_BLOCKING_OPTION_REDIRECT = 'firewall-blocking-option-redirect';
|
|
const ITEM_FIREWALL_BLOCKING_OPTION_BLOCK_LOGGED_IN = 'firewall-blocking-option-block-logged-in';
|
|
const ITEM_FIREWALL_BLOCKING_BYPASS_COOKIE = 'firewall-blocking-bypass-cookie';
|
|
const ITEM_FIREWALL_BLOCKING_BYPASS_REDIRECT = 'firewall-blocking-bypass-redirect';
|
|
const ITEM_FIREWALL_BLOCKING_FULL_SITE = 'firewall-blocking-full-site';
|
|
|
|
const ITEM_FIREWALL_REMOVE_OPTIMIZATION = 'firewall-remove-optimization';
|
|
|
|
const ITEM_SCAN = 'scan';
|
|
const ITEM_SCAN_STATUS_OVERALL = 'scan-status-overall';
|
|
const ITEM_SCAN_STATUS_MALWARE = 'scan-status-malware';
|
|
const ITEM_SCAN_STATUS_REPUTATION = 'scan-status-reputation';
|
|
const ITEM_SCAN_OPTION_CHECK_SITE_BLACKLISTED = 'scan-option-check-site-blacklisted';
|
|
const ITEM_SCAN_OPTION_CHECK_SITE_SPAMVERTIZED = 'scan-option-check-site-spamvertized';
|
|
const ITEM_SCAN_OPTION_CHECK_IP_SPAMMING = 'scan-option-ip-spamming';
|
|
const ITEM_SCAN_OPTION_CHECK_MISCONFIGURED_HOW_GET_IPS = 'scan-option-misconfigured-how-get-ips';
|
|
const ITEM_SCAN_OPTION_PUBLIC_CONFIG = 'scan-option-public-config';
|
|
const ITEM_SCAN_OPTION_PUBLIC_QUARANTINED = 'scan-option-public-quarantined';
|
|
const ITEM_SCAN_OPTION_CORE_CHANGES = 'scan-option-core-changes';
|
|
const ITEM_SCAN_OPTION_THEME_CHANGES = 'scan-option-theme-changes';
|
|
const ITEM_SCAN_OPTION_PLUGIN_CHANGES = 'scan-option-plugin-changes';
|
|
const ITEM_SCAN_OPTION_UNKNOWN_CORE = 'scan-option-unknown-core';
|
|
const ITEM_SCAN_OPTION_MALWARE_HASHES = 'scan-option-malware-hashes';
|
|
const ITEM_SCAN_OPTION_MALWARE_SIGNATURES = 'scan-option-malware-signatures';
|
|
const ITEM_SCAN_OPTION_MALWARE_URLS = 'scan-option-malware-urls';
|
|
const ITEM_SCAN_OPTION_POST_URLS = 'scan-option-post-urls';
|
|
const ITEM_SCAN_OPTION_COMMENT_URLS = 'scan-option-comment-urls';
|
|
const ITEM_SCAN_OPTION_MALWARE_OPTIONS = 'scan-option-malware-options';
|
|
const ITEM_SCAN_OPTION_UPDATES = 'scan-option-updates';
|
|
const ITEM_SCAN_OPTION_UNKNOWN_ADMINS = 'scan-option-unknown-admins';
|
|
const ITEM_SCAN_OPTION_PASSWORD_STRENGTH = 'scan-option-password-strength';
|
|
const ITEM_SCAN_OPTION_DISK_SPACE = 'scan-option-disk-space';
|
|
const ITEM_SCAN_OPTION_WAF_STATUS = 'scan-option-waf-status';
|
|
const ITEM_SCAN_OPTION_OUTSIDE_WORDPRESS = 'scan-option-outside-wordpress';
|
|
const ITEM_SCAN_OPTION_IMAGES_EXECUTABLE = 'scan-option-images-executable';
|
|
const ITEM_SCAN_OPTION_HIGH_SENSITIVITY = 'scan-option-high-sensitivity';
|
|
const ITEM_SCAN_OPTION_LOW_RESOURCE = 'scan-option-low-resource';
|
|
const ITEM_SCAN_OPTION_LIMIT_ISSUES = 'scan-option-limit-issues';
|
|
const ITEM_SCAN_OPTION_OVERALL_TIME_LIMIT = 'scan-option-overall-time-limit';
|
|
const ITEM_SCAN_OPTION_MEMORY_LIMIT = 'scan-option-memory-limit';
|
|
const ITEM_SCAN_OPTION_STAGE_TIME_LIMIT = 'scan-option-stage-time-limit';
|
|
const ITEM_SCAN_OPTION_EXCLUDE_PATTERNS = 'scan-option-exclude-patterns';
|
|
const ITEM_SCAN_OPTION_CUSTOM_MALWARE_SIGNATURES = 'scan-option-custom-malware-signatures';
|
|
const ITEM_SCAN_OPTION_MAX_RESUME_ATTEMPTS = 'scan-option-max-resume-attempts';
|
|
const ITEM_SCAN_OPTION_USE_ONLY_IPV4 = 'scan-option-use-only-ipv4';
|
|
const ITEM_SCAN_TIME_LIMIT = 'scan-time-limit';
|
|
const ITEM_SCAN_FAILS = 'scan-fails';
|
|
const ITEM_SCAN_FAILED_START = 'scan-failed-start';
|
|
const ITEM_SCAN_BULK_DELETE_WARNING = 'scan-bulk-delete-warning';
|
|
const ITEM_SCAN_SCHEDULING = 'scan-scheduling';
|
|
const ITEM_SCAN_RESULT_PUBLIC_CONFIG = 'scan-result-public-config';
|
|
const ITEM_SCAN_RESULT_PLUGIN_ABANDONED = 'scan-result-plugin-abandoned';
|
|
const ITEM_SCAN_RESULT_PLUGIN_REMOVED = 'scan-result-plugin-removed';
|
|
const ITEM_SCAN_RESULT_UPDATE_CHECK_FAILED = 'scan-result-update-check-failed';
|
|
const ITEM_SCAN_RESULT_OPTION_MALWARE_URL = 'scan-result-option-malware-url';
|
|
const ITEM_SCAN_RESULT_GEOIP_UPDATE = 'scan-result-geoip-update';
|
|
const ITEM_SCAN_RESULT_WAF_DISABLED = 'scan-result-waf-disabled';
|
|
const ITEM_SCAN_RESULT_UNKNOWN_FILE_CORE = 'scan-result-unknown-file-in-wordpress-core';
|
|
const ITEM_SCAN_RESULT_SKIPPED_PATHS = 'scan-result-skipped-paths';
|
|
const ITEM_SCAN_RESULT_REPAIR_MODIFIED_FILES = 'scan-result-repair-modified-files';
|
|
const ITEM_SCAN_RESULT_MODIFIED_PLUGIN = 'scan-result-modified-plugin';
|
|
const ITEM_SCAN_RESULT_MODIFIED_THEME = 'scan-result-modified-theme';
|
|
const ITEM_SCAN_RESULT_PLUGIN_VULNERABLE = 'scan-result-plugin-vulnerable';
|
|
const ITEM_SCAN_RESULT_CORE_UPGRADE = 'scan-result-core-upgrade';
|
|
|
|
const ITEM_TOOLS_TWO_FACTOR = 'tools-two-factor';
|
|
const ITEM_TOOLS_LIVE_TRAFFIC = 'tools-live-traffic';
|
|
const ITEM_TOOLS_LIVE_TRAFFIC_OPTION_ENABLE = 'tools-live-traffic-option-enable';
|
|
const ITEM_TOOLS_AUDIT_LOG = 'tools-audit-log';
|
|
const ITEM_TOOLS_AUDIT_LOG_OPTION_MODE = 'tools-audit-log-option-mode';
|
|
const ITEM_TOOLS_WHOIS_LOOKUP = 'tools-whois-lookup';
|
|
const ITEM_TOOLS_IMPORT_EXPORT = 'tools-import-export';
|
|
|
|
const ITEM_DIAGNOSTICS = 'diagnostics';
|
|
const ITEM_DIAGNOSTICS_SYSTEM_CONFIGURATION = 'diagnostics-system-configuration';
|
|
const ITEM_DIAGNOSTICS_TEST_MEMORY = 'diagnostics-test-memory';
|
|
const ITEM_DIAGNOSTICS_TEST_EMAIL = 'diagnostics-test-email';
|
|
const ITEM_DIAGNOSTICS_TEST_ACTIVITY_REPORT = 'diagnostics-test-activity-report';
|
|
const ITEM_DIAGNOSTICS_REMOVE_CENTRAL_DATA = 'diagnostics-remove-central-data';
|
|
const ITEM_DIAGNOSTICS_OPTION_DEBUGGING_MODE = 'diagnostics-option-debugging-mode';
|
|
const ITEM_DIAGNOSTICS_OPTION_REMOTE_SCANS = 'diagnostics-option-remote-scans';
|
|
const ITEM_DIAGNOSTICS_OPTION_SSL_VERIFICATION = 'diagnostics-option-ssl-verification';
|
|
const ITEM_DIAGNOSTICS_OPTION_DISABLE_PHP_INPUT = 'diagnostics-option-disable-php-input';
|
|
const ITEM_DIAGNOSTICS_OPTION_BETA_TDF = 'diagnostics-option-beta-tdf';
|
|
const ITEM_DIAGNOSTICS_OPTION_WORDFENCE_TRANSLATIONS = 'diagnostics-option-wordfence-translations';
|
|
const ITEM_DIAGNOSTICS_IPV6 = 'diagnostics-ipv6';
|
|
const ITEM_DIAGNOSTICS_CLOUDFLARE_BLOCK = 'compatibility-cloudflare';
|
|
|
|
const ITEM_MODULE_LOGIN_SECURITY = 'module-login-security';
|
|
const ITEM_MODULE_LOGIN_SECURITY_2FA = 'module-login-security-2fa';
|
|
const ITEM_MODULE_LOGIN_SECURITY_CAPTCHA = 'module-login-security-captcha';
|
|
|
|
public static function esc_supportURL($item = self::ITEM_INDEX) {
|
|
return esc_url(self::supportURL($item));
|
|
}
|
|
|
|
public static function supportURL($item = self::ITEM_INDEX) {
|
|
$base = 'https://www.wordfence.com/help/';
|
|
switch ($item) {
|
|
case self::ITEM_INDEX:
|
|
return 'https://www.wordfence.com/help/';
|
|
case self::ITEM_FREE:
|
|
return 'https://wordpress.org/support/plugin/wordfence/';
|
|
case self::ITEM_PREMIUM:
|
|
return 'https://support.wordfence.com/';
|
|
|
|
//These all fall through to the query format
|
|
|
|
case self::ITEM_NOTICE_WAF_INACCESSIBLE_CONFIG:
|
|
case self::ITEM_NOTICE_WAF_MOD_PHP_FIX:
|
|
case self::ITEM_NOTICE_WAF_READ_ONLY_WARNING:
|
|
case self::ITEM_NOTICE_MISCONFIGURED_HOW_GET_IPS:
|
|
case self::ITEM_NOTICE_SWITCH_LIVE_TRAFFIC:
|
|
|
|
case self::ITEM_LOCKED_OUT:
|
|
case self::ITEM_AJAX_BLOCKED:
|
|
case self::ITEM_USING_BREACH_PASSWORD:
|
|
|
|
case self::ITEM_WIDGET_LOCAL_ATTACKS:
|
|
|
|
case self::ITEM_VERSION_WORDPRESS:
|
|
case self::ITEM_VERSION_PHP:
|
|
case self::ITEM_VERSION_OPENSSL:
|
|
|
|
case self::ITEM_GDPR:
|
|
case self::ITEM_GDPR_DPA:
|
|
|
|
case self::ITEM_GENERAL_REMOTE_IP_LOOKUP:
|
|
|
|
case self::ITEM_DASHBOARD:
|
|
case self::ITEM_DASHBOARD_STATUS_FIREWALL:
|
|
case self::ITEM_DASHBOARD_STATUS_SCAN:
|
|
case self::ITEM_DASHBOARD_OPTIONS:
|
|
case self::ITEM_DASHBOARD_OPTION_API_KEY:
|
|
case self::ITEM_DASHBOARD_OPTION_HOW_GET_IPS:
|
|
case self::ITEM_DASHBOARD_OPTION_AUTOMATIC_UPDATE:
|
|
case self::ITEM_DASHBOARD_OPTION_ALERT_EMAILS:
|
|
case self::ITEM_DASHBOARD_OPTION_HIDE_VERSION:
|
|
case self::ITEM_DASHBOARD_OPTION_DISABLE_UPLOADS_EXECUTION:
|
|
case self::ITEM_DASHBOARD_OPTION_DISABLE_COOKIES:
|
|
case self::ITEM_DASHBOARD_OPTION_PAUSE_LIVE_UPDATES:
|
|
case self::ITEM_DASHBOARD_OPTION_UPDATE_INTERVAL:
|
|
case self::ITEM_DASHBOARD_OPTION_LITESPEED_WARNING:
|
|
case self::ITEM_DASHBOARD_OPTION_BYPASS_LITESPEED_CHECK:
|
|
case self::ITEM_DASHBOARD_OPTION_DELETE_DEACTIVATION:
|
|
case self::ITEM_DASHBOARD_OPTION_EXPORT:
|
|
case self::ITEM_DASHBOARD_OPTION_IMPORT:
|
|
|
|
case self::ITEM_FIREWALL_WAF:
|
|
case self::ITEM_FIREWALL_WAF_STATUS_OVERALL:
|
|
case self::ITEM_FIREWALL_WAF_STATUS_RULES:
|
|
case self::ITEM_FIREWALL_WAF_STATUS_BLACKLIST:
|
|
case self::ITEM_FIREWALL_WAF_STATUS_BRUTE_FORCE:
|
|
case self::ITEM_FIREWALL_WAF_INSTALL_MANUALLY:
|
|
case self::ITEM_FIREWALL_WAF_INSTALL_NGINX:
|
|
case self::ITEM_FIREWALL_WAF_REMOVE_MANUALLY:
|
|
case self::ITEM_FIREWALL_WAF_LEARNING_MODE:
|
|
case self::ITEM_FIREWALL_WAF_RULES:
|
|
case self::ITEM_FIREWALL_WAF_WHITELIST:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_DELAY_BLOCKING:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_WHITELISTED_IPS:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_WHITELISTED_SERVICES:
|
|
case self::ITEM_FIREWALL_WAF_IGNORED_ALERT_IPS:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_IMMEDIATELY_BLOCK_URLS:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_ENABLE_LOGIN_SECURITY:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_LOCK_OUT_FAILURE_COUNT:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_LOCK_OUT_FORGOT_PASSWORD_COUNT:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_COUNT_TIME_PERIOD:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_LOCKOUT_DURATION:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_IMMEDIATELY_LOCK_OUT_INVALID_USERS:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_IMMEDIATELY_BLOCK_USERS:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_ENFORCE_STRONG_PASSWORDS:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_PREVENT_BREACH_PASSWORDS:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_MASK_LOGIN_ERRORS:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_PREVENT_ADMIN_REGISTRATION:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_PREVENT_AUTHOR_SCAN:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_DISABLE_APPLICATION_PASSWORDS:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_BLOCK_BAD_POST:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_CUSTOM_BLOCK_TEXT:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_CHECK_PASSWORD:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_PARTICIPATE_WFSN:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_ENABLE_ADVANCED_BLOCKING:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_IMMEDIATELY_BLOCK_FAKE_GOOGLE:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_GOOGLE_ACTION:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_RATE_LIMIT_ANY:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_RATE_LIMIT_CRAWLER:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_RATE_LIMIT_CRAWLER_404:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_RATE_LIMIT_HUMAN:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_RATE_LIMIT_HUMAN_404:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_RATE_LIMIT_ANY_404:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_AUTOMATIC_BLOCK_DURATION:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_WHITELISTED_404:
|
|
case self::ITEM_FIREWALL_WAF_OPTION_MONITOR_AJAX:
|
|
|
|
case self::ITEM_FIREWALL_BLOCKING:
|
|
case self::ITEM_FIREWALL_BLOCKING_FILTER:
|
|
case self::ITEM_FIREWALL_BLOCKING_OPTION_WHAT_TO_DO:
|
|
case self::ITEM_FIREWALL_BLOCKING_OPTION_REDIRECT:
|
|
case self::ITEM_FIREWALL_BLOCKING_OPTION_BLOCK_LOGGED_IN:
|
|
case self::ITEM_FIREWALL_BLOCKING_BYPASS_COOKIE:
|
|
case self::ITEM_FIREWALL_BLOCKING_BYPASS_REDIRECT:
|
|
case self::ITEM_FIREWALL_BLOCKING_FULL_SITE:
|
|
|
|
case self::ITEM_FIREWALL_REMOVE_OPTIMIZATION:
|
|
|
|
case self::ITEM_SCAN:
|
|
case self::ITEM_SCAN_STATUS_OVERALL:
|
|
case self::ITEM_SCAN_STATUS_MALWARE:
|
|
case self::ITEM_SCAN_STATUS_REPUTATION:
|
|
case self::ITEM_SCAN_TIME_LIMIT:
|
|
case self::ITEM_SCAN_FAILS:
|
|
case self::ITEM_SCAN_FAILED_START:
|
|
case self::ITEM_SCAN_BULK_DELETE_WARNING:
|
|
case self::ITEM_SCAN_SCHEDULING:
|
|
case self::ITEM_SCAN_OPTION_CHECK_SITE_BLACKLISTED:
|
|
case self::ITEM_SCAN_OPTION_CHECK_SITE_SPAMVERTIZED:
|
|
case self::ITEM_SCAN_OPTION_CHECK_IP_SPAMMING:
|
|
case self::ITEM_SCAN_OPTION_CHECK_MISCONFIGURED_HOW_GET_IPS:
|
|
case self::ITEM_SCAN_OPTION_PUBLIC_CONFIG:
|
|
case self::ITEM_SCAN_OPTION_PUBLIC_QUARANTINED:
|
|
case self::ITEM_SCAN_OPTION_CORE_CHANGES:
|
|
case self::ITEM_SCAN_OPTION_THEME_CHANGES:
|
|
case self::ITEM_SCAN_OPTION_PLUGIN_CHANGES:
|
|
case self::ITEM_SCAN_OPTION_UNKNOWN_CORE:
|
|
case self::ITEM_SCAN_OPTION_MALWARE_HASHES:
|
|
case self::ITEM_SCAN_OPTION_MALWARE_SIGNATURES:
|
|
case self::ITEM_SCAN_OPTION_MALWARE_URLS:
|
|
case self::ITEM_SCAN_OPTION_POST_URLS:
|
|
case self::ITEM_SCAN_OPTION_COMMENT_URLS:
|
|
case self::ITEM_SCAN_OPTION_MALWARE_OPTIONS:
|
|
case self::ITEM_SCAN_OPTION_UPDATES:
|
|
case self::ITEM_SCAN_OPTION_UNKNOWN_ADMINS:
|
|
case self::ITEM_SCAN_OPTION_PASSWORD_STRENGTH:
|
|
case self::ITEM_SCAN_OPTION_DISK_SPACE:
|
|
case self::ITEM_SCAN_OPTION_WAF_STATUS:
|
|
case self::ITEM_SCAN_OPTION_OUTSIDE_WORDPRESS:
|
|
case self::ITEM_SCAN_OPTION_IMAGES_EXECUTABLE:
|
|
case self::ITEM_SCAN_OPTION_HIGH_SENSITIVITY:
|
|
case self::ITEM_SCAN_OPTION_LOW_RESOURCE:
|
|
case self::ITEM_SCAN_OPTION_LIMIT_ISSUES:
|
|
case self::ITEM_SCAN_OPTION_OVERALL_TIME_LIMIT:
|
|
case self::ITEM_SCAN_OPTION_MEMORY_LIMIT:
|
|
case self::ITEM_SCAN_OPTION_STAGE_TIME_LIMIT:
|
|
case self::ITEM_SCAN_OPTION_EXCLUDE_PATTERNS:
|
|
case self::ITEM_SCAN_OPTION_CUSTOM_MALWARE_SIGNATURES:
|
|
case self::ITEM_SCAN_OPTION_MAX_RESUME_ATTEMPTS:
|
|
case self::ITEM_SCAN_OPTION_USE_ONLY_IPV4:
|
|
case self::ITEM_SCAN_RESULT_PUBLIC_CONFIG:
|
|
case self::ITEM_SCAN_RESULT_PLUGIN_ABANDONED:
|
|
case self::ITEM_SCAN_RESULT_PLUGIN_REMOVED:
|
|
case self::ITEM_SCAN_RESULT_UPDATE_CHECK_FAILED:
|
|
case self::ITEM_SCAN_RESULT_OPTION_MALWARE_URL:
|
|
case self::ITEM_SCAN_RESULT_GEOIP_UPDATE:
|
|
case self::ITEM_SCAN_RESULT_WAF_DISABLED:
|
|
case self::ITEM_SCAN_RESULT_UNKNOWN_FILE_CORE:
|
|
case self::ITEM_SCAN_RESULT_SKIPPED_PATHS:
|
|
case self::ITEM_SCAN_RESULT_REPAIR_MODIFIED_FILES:
|
|
case self::ITEM_SCAN_RESULT_MODIFIED_PLUGIN:
|
|
case self::ITEM_SCAN_RESULT_MODIFIED_THEME:
|
|
case self::ITEM_SCAN_RESULT_PLUGIN_VULNERABLE:
|
|
case self::ITEM_SCAN_RESULT_CORE_UPGRADE:
|
|
|
|
case self::ITEM_TOOLS_TWO_FACTOR:
|
|
case self::ITEM_TOOLS_LIVE_TRAFFIC:
|
|
case self::ITEM_TOOLS_LIVE_TRAFFIC_OPTION_ENABLE:
|
|
case self::ITEM_TOOLS_AUDIT_LOG:
|
|
case self::ITEM_TOOLS_AUDIT_LOG_OPTION_MODE:
|
|
case self::ITEM_TOOLS_WHOIS_LOOKUP:
|
|
case self::ITEM_TOOLS_IMPORT_EXPORT:
|
|
|
|
case self::ITEM_DIAGNOSTICS:
|
|
case self::ITEM_DIAGNOSTICS_SYSTEM_CONFIGURATION:
|
|
case self::ITEM_DIAGNOSTICS_TEST_MEMORY:
|
|
case self::ITEM_DIAGNOSTICS_TEST_EMAIL:
|
|
case self::ITEM_DIAGNOSTICS_TEST_ACTIVITY_REPORT:
|
|
case self::ITEM_DIAGNOSTICS_REMOVE_CENTRAL_DATA:
|
|
case self::ITEM_DIAGNOSTICS_OPTION_DEBUGGING_MODE:
|
|
case self::ITEM_DIAGNOSTICS_OPTION_REMOTE_SCANS:
|
|
case self::ITEM_DIAGNOSTICS_OPTION_SSL_VERIFICATION:
|
|
case self::ITEM_DIAGNOSTICS_OPTION_DISABLE_PHP_INPUT:
|
|
case self::ITEM_DIAGNOSTICS_OPTION_BETA_TDF:
|
|
case self::ITEM_DIAGNOSTICS_OPTION_WORDFENCE_TRANSLATIONS:
|
|
case self::ITEM_DIAGNOSTICS_IPV6:
|
|
case self::ITEM_DIAGNOSTICS_CLOUDFLARE_BLOCK:
|
|
|
|
case self::ITEM_MODULE_LOGIN_SECURITY:
|
|
case self::ITEM_MODULE_LOGIN_SECURITY_2FA:
|
|
case self::ITEM_MODULE_LOGIN_SECURITY_CAPTCHA:
|
|
return $base . '?query=' . $item;
|
|
}
|
|
|
|
return '';
|
|
}
|
|
|
|
public static function shouldShowSatisfactionPrompt() {
|
|
//Don't show if overridden
|
|
if (!wfConfig::getBool('satisfactionPromptOverride')) {
|
|
return false;
|
|
}
|
|
|
|
//Only show on our pages
|
|
if (!isset($_REQUEST['page'])) {
|
|
return false;
|
|
}
|
|
|
|
if (!preg_match('/^Wordfence/', $_REQUEST['page'])) {
|
|
return false;
|
|
}
|
|
|
|
//Only show until dismissed
|
|
if (wfConfig::get('satisfactionPromptDismissed') > 0) {
|
|
return false;
|
|
}
|
|
|
|
//Only show to users installing after the release date of the version this was introduced
|
|
if (WORDFENCE_FEEDBACK_EPOCH > wfConfig::get('satisfactionPromptInstallDate')) {
|
|
return false;
|
|
}
|
|
|
|
//Don't show for at least 7 days post-install
|
|
if ((time() - wfConfig::get('satisfactionPromptInstallDate')) < 86400 * 7) {
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
public static function satisfactionPromptNotice() {
|
|
?>
|
|
<div id="wordfenceSatisfactionPrompt" class="fade notice notice-info">
|
|
<p id="wordfenceSatisfactionPrompt-initial"><strong><?php printf(__('Are you enjoying using Wordfence Security?', 'wordfence')); ?></strong> <a href="#" onclick="WFAD.wordfenceSatisfactionChoice('yes'); return false;" class="wf-btn wf-btn-default wf-btn-sm" role="button"><?php printf(__('Yes', 'wordfence')); ?></a> <a href="#" onclick="WFAD.wordfenceSatisfactionChoice('no'); return false;" class="wf-btn wf-btn-default wf-btn-sm" role="button"><?php printf(__('No', 'wordfence')); ?></a></p>
|
|
<div id="wordfenceSatisfactionPrompt-yes" style="display: none;">
|
|
<p><?php printf(__('Please consider leaving us a 5-star review on wordpress.org. Your review helps other members of the WordPress community find plugins that fit their needs.', 'wordfence')); ?></p>
|
|
<p><a href="https://wordpress.org/support/plugin/wordfence/reviews/" class="wf-btn wf-btn-default wf-btn-sm" role="button" target="_blank" rel="noopener noreferrer"><?php printf(__('Leave Review', 'wordfence')); ?></a></p>
|
|
</div>
|
|
<div id="wordfenceSatisfactionPrompt-no" style="display: none;">
|
|
<p><?php printf(__('What can we do to improve Wordfence Security?', 'wordfence')); ?></p>
|
|
<p><textarea rows="6" cols="50" id="wordfenceSatisfactionPrompt-feedback"></textarea></p>
|
|
<p><a href="#" onclick="WFAD.wordfenceSatisfactionChoice('feedback'); return false;" class="wf-btn wf-btn-default wf-btn-sm" role="button" target="_blank" rel="noopener noreferrer"><?php printf(__('Submit Feedback', 'wordfence')); ?></a> <a href="#" onclick="WFAD.wordfenceSatisfactionChoice('dismiss'); return false;" class="wf-btn wf-btn-default wf-btn-sm" role="button"><?php printf(__('Dismiss', 'wordfence')); ?></a></p>
|
|
</div>
|
|
<p id="wordfenceSatisfactionPrompt-complete" style="display: none;"><?php printf(__('Thank you for providing your feedback on Wordfence Security', 'wordfence')); ?></p>
|
|
<button type="button" class="notice-dismiss" onclick="WFAD.wordfenceSatisfactionChoice('dismiss'); return false;"><span class="screen-reader-text">Dismiss this notice.</span></button>
|
|
</div>
|
|
<?php
|
|
}
|
|
}
|