
Joomla Access Key
/administrator with brute-force attempts never even see a login to attack.Your login form is the most attacked page on your site
Every Joomla site keeps its login in the same place: /administrator. Bots know this. Around the clock they throw username and password combinations at a form that is visible to the entire internet. Even when they never get in, the traffic floods your logs, wastes server resources and sits one leaked password away from a real breach.
Access Key removes the target. With the plugin enabled, the administrator login only appears for someone who carries your secret key. Everyone else, every bot included, gets a message, a redirect or a 404. There is no form to brute-force, because there is no form at all.

Everything in one small plugin
One secret key, and a whitelist for the places you trust
Choose a key and add it to the administrator address as ?YourSecretKey. Only requests that carry the key reach the real login screen.
Your own office or home connection can skip the key. Add single IP addresses or whole networks in CIDR notation, IPv4 and IPv6. The settings screen shows your current IP address, so you can copy it straight into the whitelist.

Three answers for everyone else
You decide what a visit to /administrator without the key gets.
- Show a message. Your own text, sent with a 401 status.
- Redirect to a URL. Any address you like, or your home page when you leave it empty.
- Show a 404 page. Stealth mode, for when the backend should not seem to exist at all.
Whichever you pick, the login form is never rendered.

A backend that looks like it is not there
A message or a redirect still tells a scanner that something is there. Stealth mode answers with a real 404 status and the 404 page of your own site template.
The page is fetched from your front end and cached for an hour, so it is the real error page of your template, also with page builder templates. Nothing in the response names Joomla or the plugin.

See who came in, and who was turned away
Switch on the action log option and every access decision shows up in the Joomla action log: entry with the key, entry from a whitelisted address, refused entry and lockouts.
Repeated refusals from the same visitor are recorded once every fifteen minutes, so a scanner cannot flood the log or the notification emails. The IP address is only written when IP logging is enabled in the Action Logs options.

CIDR ranges
192.168.1.0/24 instead of listing every address by hand.Locks out guessing
Key checked on save
Stays out of the way
From bot magnet to closed door in three steps
-
1Install and set a keyEnable the plugin, enter your access key and save. The key is checked on save, so a key that could never work is refused before it locks you out.
-
2Open the backend with the keyAdd
?YourSecretKeyto the administrator address. The plugin accepts it and sends you on to the clean address, so the key does not stay in the address bar or the browser history. -
3Work as usualAccess stays open for twelve hours for your IP address. Everyone without the key gets your message, your redirect or a 404.

Built for security, the Joomla way
Front end untouched
A whitelist you can trust
Careful with the key
Modern codebase
An extra layer, not a magic shield
Frequently asked questions
https://www.website.com/administrator?YourSecretKey. The plugin sends you on to the clean address, the normal Joomla login appears and you sign in as usual. Access then stays open for twelve hours for your IP address, so you do not need the key on every click.You decide. Choose "Show Message" to display a custom message (the default is "There is nothing to see here!"), "Redirect to URL" to send them to any address, or "Show 404 Page (Stealth)" to answer with your own 404 page and a real Not Found status. Either way the login form is never rendered.
192.168.1.0/24, to the whitelist and those visitors reach the login without the key. The plugin shows your current IP address so you can whitelist it in one click.plugins/system/accesskey folder (for example to --accesskey) to get back in, then set a new key. With database access, run UPDATE #__extensions SET enabled = 0 WHERE name = 'PLG_SYSTEM_ACCESSKEY', log in and choose a new key. The full guide is in the documentation.