We recommend moving all writeable directories to a secure, private location and updating related items to prevent unauthorized web-based access to self-hosted WHMCS installations.
When you secure your self-hosted WHMCS installation, we recommend adjusting the permissions for the configuration.php file to protect your sensitive data.
We recommend moving the crons directory to a custom private directory above your web root to prevent unauthorized web-based access to self-hosted WHMCS installations.
Customizing the WHMCS admin directory name makes it harder for bots and malicious users to find the login URL for the Admin Area of your self-hosted WHMCS installation.
Captchas help you prevent bots from placing orders, creating accounts, or logging in to your Client Area. WHMCS includes several captcha types, including a default verification code captcha and options with enhanced protection from Google® reCAPTCHA and hCaptcha.
WHMCS's default captcha option displays an image with six characters on a striped background. This option does not require additional configuration or an additional account with a captcha service.
Enable hCaptcha or Invisible hCaptcha as your captcha type in WHMCS. hCaptcha offers checkbox-based and invisible captcha options to help you prevent bots from placing orders, creating accounts, or logging in to your Client Area or Admin Area. Before enabling hCaptcha or Invisible hCaptcha in WHMCS, you must configure it in your hCaptcha account.
Enable reCAPTCHA v3 as your captcha type in WHMCS. reCAPTCHA v3 is an invisible captcha type that can help you prevent bots from placing orders, creating accounts, or logging in to your Client Area or Admin Area. Before enabling reCAPTCHA v3 in WHMCS, you must configure it in your Google® account.
The Security tab in General Settings allows you to configure security-related features. You can enable and configure captcha protection and email verification, set password strength and ban lengths, set a whitelist, and more.
You can configure WHMCS to use an encrypted MySQL® database with your self-hosted WHMCS installation. This requires additional steps to add settings to your configuration.php file.
NGINX® can't read the .htaccess file that WHMCS uses, so NGINX users must take additional steps to protect sensitive directories on self-hosted WHMCS installations.