Using the Blacklist

Quick Overview

The blacklist feature of the software allows you to ban certain items from appearing in the member's account information. You can ban URLs, E-mail addresses, and words. In addition, if you don't want users from certain IP addresses to be able to add accounts, you can blacklist those as well.

The software allows you the option to enter regular expressions to get finer control over your blacklisted items. This is a powerful tool, but if you are not familiar with regular expressions you will need to learn a bit about them. You can distinguish regular expression blacklist items from standard blacklist items because they will have a [re] after them in the list.

Blacklist Types

There are four types of items you can blacklist: URLs, IP Addresses, E-mail addresses, and Words. Each of these will be explained below so you know how they work and what account data they are checked against. Note that all matching is case-insensitive.
  • URLs

    The URL blacklist allows you to add full or partial URLs. This allows you to block those URLs from appearing in your member data. For example, if you were having problems with an account cheating, you could delete their account and add their site URL to the URL blacklist. They would then not be able to come back and signup for a new account.

    This blacklist supports full or partial URLs, so you can ban an entire domain by entering domain.com in the blacklist, or you can ban only a specific page within the domain by adding the full URL.

  • IP Addresses

    The IP Address blacklist allows you to ban individuals from specified IP addresses from creating accounts. If you keep getting bogus accounts from a certain IP, you can blacklist it and accounts can no longer be created from users with that IP address.

    This blacklist supports full and partial IP addresses, so you can ban a specific IP address or an entire range of them. To ban a range of IP addresses, just enter the first part of it. For example, entering 192.168.1. would blacklist the entire 192.168.1.0-192.168.1.255 IP block.

  • E-mail Addresses

    The e-mail address blacklist allows you to ban certain e-mails from being used in your account data. If you have been getting many bogus accounts from a certain e-mail address, you can ban it and they will no longer be able to create accounts with it.

    This blacklist supports full and partial e-mail addresses, so you can ban an entire domain or a specific e-mail address. For example, if you do not want accounts using a hotmail.com e-mail address, just add hotmail.com to the e-mail blacklist.

  • Words

    The word blacklist allows you to specify what words and phrases you don't want to appear in the site's title or description. If you are not allowing curse words on your site, you can add them all to the word blacklist and accounts using them will be rejected.

    This blacklist supports full and partial words, so you can ban many items by entering only a single word. For example, adding the word run to the blacklist would block run, running, runner, runners, etc from being used.


Using Regular Expressions

In most cases, it is not necessary to use regular expression syntax with your blacklisted items. Only when you need very fine control over an item should you use a regular expression. The regular expression syntax you can use is based on Perl's compatible regular expression engine. You should familiarize yourself with this, by viewing the documentation for the Perl comaptible regular expression engine.

To enable regular expressions on the blacklist item you are entering, make sure to select Yes from the drop down selection box labeled "Regular Expression?".

Now we will give you a few examples of how regular expressions can be used.
  • Banning Word Alterations

    Some users will try to avoid the standard blacklist by using alternate characters in their words. For example, if you have the word TITLE in your blacklist, someone could get around this by replacing the i with the number 1 and the e with the number 3. Granted, this doesn't look very good (T1TL3), but it is still understood by most people. To get rid of this possibility, you can use a regular expression:

    t.tl.

    This is a very simple regular expression. All we did was replace the i and e with a period. In regular expressions, the period will match any character. Examples of things that this would block are:

    title
    t1tle
    t1tl3
    titl3

    Note that all matching is case-insensitive, so the above will also match any upper case letters as well.

  • Avoiding Greedy Matches

    If you just put the word at in your blacklist, you will also match a whole host of other words including goat, ate, float, cat, rat, etc. To avoid this, you can use a regular expression:

    \bat\b

    Adding \b at the start and end of the word tells the regular expression engine to only match that exact word.

  • Blocking Special Characters

    If you want all of your accounts to only use letters, numbers, spaces, and periods in their site titles and descriptions, you can use a regular expression:

    [^a-z0-9 .]+

    The items inside the [] brackets form a character class. The a-z includes all letters of the alphabet, and the 0-9 includes all digits. The whitespace and period are the other two characters we want to allow. To make it so we are not allowing characters other than this, we add the ^ to start the character class. This tells the software to match anything but the characters in the character class. The + modifier makes it match one or more occurances.

  • Blocking IP address based URLs

    If you want all sites in your list to have a qualified domain name in their URL, and block URLs such as http://128.14.56.26/index.html, you can use a regular expression:

    http://\d+\.\d+\.\d+\.\d+

    The \d value will match any number 0-9, and adding the + modifier to it says to match 1 or more 0-9 numbers. This allows you to match 6, 12, and 123 all with the same syntax. In this case we have to use \. to match the periods in the IP address. Using a period without the backslash will not work because the period is a special character in regular expressions. Using \. tells the regular expression to match the actual period character.
There are literally hundreds of uses for regular expressions in your blacklist. The best way to get to know them is to experiment. If you get a compilation error message when adding a blacklist item with regular expression syntax, it indicates there is a problem with the regular expression syntax you are using.