Shopping Basket


Cart empty

Log In

Find Us Elsewhere


Forum Search


Buy the Plugin

This plugin allows you to restrict selected pages on your site from view. Until the user enters a code or codes of your choice, they see the page covered by a modal backdrop, you can view a demo here.

Note that this is not a way to secure the pages, for that you need an authentication plugin, a user could still view them for example by just disabling javascript on their browser.


Install as normal using the Joomla! installer, then find it in the Joomla plugin manager, it is listed as a system plugin called 'system - gatekeeper'. Click on the name to open the plugin options, you can view a screenshot here.


Test Source.

Firstly you need to set up some values to test against, which you do using the 'Test source', 'List values', 'File Source' and 'Database Field' options.

You can supply whatever values for the codes that you want. If you only have a few values the easiest thing is to list them as a comma separated list in the 'List Values' option. If you have quite a lot, it is probably easier to put them in a text file. If you do this then the file must be uploaded to the folder media/gatekeeper/codes/. If you do this then you should see the file listed in the 'File Source' option. Alternatively you can edit the existing codes.txt file which we include with the plugin, and add the values to this. Note that if you put the codes in a text file, anyone will be able to read the file by accessing it by its url, so this is not in any way secure.

If you want the codes to be a bit more secure, or you have a lot of them, it is recommended to store them in a database field. If you have Sobi Pro on your site, and you create a field to hold the values, then you can select the field to test against using the 'Database Field' option.

The test is reasonably bullet proof, it is case-insensitive and ignores whitespace. If you have any special requirements for the test you are welcome to discuss this further with us, however the standard test should be sufficient in most cases.

URL Parameter

If you want, the viewer's code can be taken from an URL parameter instead of them having to enter it. This allows you to restrict pages to users who access it through a particular link. For example if you want to direct users from Twitter to some pages on your site, you could post the link on Twitter as, where the url parameter is 'magicword' and the value that must be supplied is 'twitter'. Anyone else will just see the modal backdrop and the challenge to enter the code.


This option is pretty obvious, you can use it to pick which page or pages are restricted. If you leave the option empty then all pages on your site will be restricted. Note that you can only restrict pages which are Joomla menu items, though this could probably be modified with some custom coding.

Cookie Options

If you don't want your visitors to be continually annoyed by a challenge every time they visit the restricted pages then you can set a cookie. This is the default option, but you can turn this off if you do want your visitors to be continually challenged. You can also set a lifetime for the cookie. A blank or 0 value will set a lifetime of the browser session, otherwise the value is set in hours.

CSS and JQuery Options

The default values of these will normally be the best ones for the site, but occasionally you might need to change them.

Load legacy modal. This may be useful if you have some other scripts that require an older version of JQuery. If that is the case then trying to load the normal jQuery framework for the modal popup will probably break these scripts and the popup, so try setting this option to 'yes'.

Load Bootstrap CSS. Some Joomla templates, eg Protostar, are already based on bootstrap so there is no need to load the CSS, in that case you can set this option to 'no'.

Jquery no-conflict mode. This option should normally be set to 'yes', but if this causes problems with other scripts that won't work with the no conflict mode then try the 'no' setting. Or if some other script is already loading JQuery then you can set this option to 'Do not load jQuery'.


Donate to Us

If you like our extensions, consider making a donation to say thanks.


Support Forum