Modules: Security

Filter by Drupal Core compatibility:
Login or register to modify the filter.

Contributed (contrib) modules are plugins for Drupal that extend, build or enhance Drupal core functionality. Use matching versions (modules released for Drupal 5.x will not work for Drupal 6.x). Contributed modules are not part of Drupal core releases and may or may not have optimized code/functionality. If a module solves your needs please consider joining forces and helping the maintainer.

Administer Users by Role

Allows users with 'administer users' permission and a role (specified in 'Access control') to edit and/or delete other users with a specified role.

If the user being edited has multiple roles, the user doing the editing must have permission to edit ALL of the user being edited's roles.

Also provides role-based control over user creation.

Works well in conjunction with the (optional) role_delegation module.

I wrote this module as part of a Kosada Inc development project --- this allows us to further delegate user administration. Site administrators can now create users without being given full "administer users" permission, and can edit a specified subset of the site's users depending on the combination of roles possessed by the editing user and the user being edited.

VersionDateLinksStatus
5.x-0.92008-Mar-16Recommended for 5.xThis is currently the recommended release for 5.x.

Advanced User

Details

The advanced user module allows the filtering of users based on the user.module fields and optionally the profile.module fields. The fields available for filtering can be configured using the module settings. Eg. Site admin may search through 1000s of users to display all users who have not accessed their account.

Once the group of users with selected common denominators are filtered, the module can be used to perform functions that email, block, unblock, add or remove roles, or delete. Another nice feature is the ability to notify administrators or other roles, by email, of user account creation or profile changes.

VersionDateLinksStatus
5.x-2.x-dev2008-May-16Development snapshotDevelopment snapshots are automatically regenerated and their contents can frequently change, so they are not recommended for production use.

AES encryption

In short, here's what this module does:

For site owners:
This module can provide you with readable passwords. Some users will be able to see other users passwords in plain text if they have a role with the permission to do so.

For developers:
This module can provide you with a very simple and easy to use encryption API. Just check out the aes_encrypt and aes_decrypt functions. It really can't get any simpler.

Note: This module requires the PHP mcrypt extension! It will not work without it.

VersionDateLinksStatus
6.x-1.32008-Apr-01Recommended for 6.xThis is currently the recommended release for 6.x.
5.x-1.22007-Dec-06Recommended for 5.xThis is currently the recommended release for 5.x.

AntiSpam PWF Captcha

AntiSpam Protect Web Form Captcha Plug-in for Drupal
supports English, German, French, Spanish, Russian localization.
Customize your CAPTCHA with desired colors and fonts. Chose among many image types.
Add reload button and audio support.

VersionDateLinksStatus
5.x-1.32007-Dec-14Recommended for 5.xThis is currently the recommended release for 5.x.

Bad Behavior

Bad Behavior is a set of PHP scripts which prevents spambots from accessing your site by analyzing their actual HTTP requests and comparing them to profiles from known spambots. It goes far beyond User-Agent and Referer, however.

VersionDateLinksStatus
6.x-1.0-rc22008-Apr-09Recommended for 6.xThis is currently the recommended release for 6.x.
5.x-2.0-beta12008-Apr-07Recommended for 5.xThis is currently the recommended release for 5.x.
4.7.x-1.x-dev2006-Nov-13Development snapshotDevelopment snapshots are automatically regenerated and their contents can frequently change, so they are not recommended for production use.

Block anonymous links

BlockAnonymousLinks is a simple module which blocks comments from anonymous users that contain links.

It relies on the fact that most spam messages contain hyperlinks and also on the fact that (for now) (most) spambots don't register on the sites they want to spam. It tries to block comment-spam at an early stage.

VersionDateLinksStatus
6.x-1.02008-Mar-14Recommended for 6.xThis is currently the recommended release for 6.x.
5.x-1.12008-Mar-14Recommended for 5.xThis is currently the recommended release for 5.x.

Blogstamp

This module acts as a digital notary for Drupal; it creates notarized/certified timestamps for content. When normal Drupal content is created, an easily modifiable timestamp is created. It is impossible to tell with any real certainity whether or not the node was created at that time. A certified timestamp guarantees the content was created on the timestamp indicated.

VersionDateLinksStatus
5.x-1.x-dev2007-Mar-18Development snapshotDevelopment snapshots are automatically regenerated and their contents can frequently change, so they are not recommended for production use.
4.7.x-1.x-dev2007-Mar-18Development snapshotDevelopment snapshots are automatically regenerated and their contents can frequently change, so they are not recommended for production use.

CAPTCHA

A CAPTCHA is a challenge-response test most often placed within web forms to determine whether the user is human. The purpose of CAPTCHA is to block form submissions from spambots – automated scripts that harvest email address from publicly available web forms.

VersionDateLinksStatus
6.x-1.0-rc22008-Apr-11Recommended for 6.xThis is currently the recommended release for 6.x.
5.x-3.12007-Dec-03Recommended for 5.xThis is currently the recommended release for 5.x.
4.7.x-1.22007-Jan-30Recommended for 4.7.xThis is currently the recommended release for 4.7.x.

Captcha Riddler

Requires Captcha

Inspired by this discussion and the fact that many Drupal pages are plagued with endless amounts of spam. While modules like akismet and spam offer a great way of filtering the spam after it's being submitted the purpose of Riddler is to compliment these modules by catching it before it gets submitted.

VersionDateLinksStatus
5.x-3.12008-Mar-28Recommended for 5.xThis is currently the recommended release for 5.x.

Comment Mail

The Comment Mail module allows an email to be sent to the site administrator(s) when new comments are posted. A link in the email allows quick approval, editing, deletion, and/or banning of the poster's IP address.

VersionDateLinksStatus
5.x-0.12007-Jul-25Recommended for 5.xThis is currently the recommended release for 5.x.
4.7.x-1.x-dev2006-Nov-13Development snapshotDevelopment snapshots are automatically regenerated and their contents can frequently change, so they are not recommended for production use.

Embed filter

Many great sites like YouTube, iFilm and NowPublic allow their media assets to be served to 3rd party websites (like this one). They usually offer snippets of code to be embedded in a web page that will then load a media object (usually Flash) from their servers. This module lets your site users embed such snippets into posts but gives you the power to decide which hosts to trust.

VersionDateLinksStatus
5.x-1.02007-May-21Recommended for 5.xThis is currently the recommended release for 5.x.
4.7.x-1.x-dev2007-Sep-25Development snapshotDevelopment snapshots are automatically regenerated and their contents can frequently change, so they are not recommended for production use.

Form single

Announcement: There is no good server-side solution for this problem in Drupal 5 or Drupal 6. Your best option is Ted Serbinski's JS solution: http://tedserbinski.com/2007/01/11/how_to_prevent_duplicate_posts

This module is seeking a maintainer. Contact me if interested.

http://drupal.org/files/issues/t_6.patch

Any efforts to backport this patch to 4.7 would be greatly appreciated. To read about the final soultion that was achieved, read here:

http://drupal.org/node/107358

The Formsingle module prevents forms in Drupal 4.7 from being submitted twice. Try this; with your Drupal 4.7 installation, create a new page, or submit a new comment. When it comes time to press the submit button, click it as many times as you can before the page reloads. Can you click it 50 times? 100 times? Does Drupal submit a new page or comment for every single click? You bet! This module fixes that.

As this is a new module and totally untested in the real world, I highly recommend NOT installing it on live sites. Please test this module, examine the code, provide feedback, and hopefully soon we'll have a solid tool to provide this (critical) feature.

See the Roadmap issue in the issue tracker for an overview of tasks and future directions for this module.

VersionDateLinksStatus
5.x-1.x-dev2007-Jan-29Development snapshotDevelopment snapshots are automatically regenerated and their contents can frequently change, so they are not recommended for production use.
4.7.x-1.x-dev2006-Nov-30Development snapshotDevelopment snapshots are automatically regenerated and their contents can frequently change, so they are not recommended for production use.

Global Redirect

Global Redirect Logo

What?

GlobalRedirect is a simple module which…

  1. Checks the current URL for an alias and does a 301 redirect to it if it is not being used.
  2. Checks the current URL for a trailing slash, removes it if present and repeats check 1 with the new request.
  3. Checks if the current URL is the same as the site_frontpage and redirects to the frontpage if there is a match.
  4. Checks if the Clean URLs feature is enabled and then checks the current URL is being accessed using the clean method rather than the 'unclean' method. (Currently only in DEV, will be in 1.3 soon)
VersionDateLinksStatus
6.x-1.x-dev2007-Dec-30Development snapshotDevelopment snapshots are automatically regenerated and their contents can frequently change, so they are not recommended for production use.
5.x-1.22007-Dec-28Recommended for 5.xThis is currently the recommended release for 5.x.
4.7.x-1.2-12007-Apr-26Recommended for 4.7.xThis is currently the recommended release for 4.7.x.

Google Proxy Hacking Protector

In Dan Thies' great post about the method "Google Proxy Hacking" at

http://www.seofaststart.com/blog/google-proxy-hacking

he illustrates how an (evil) third party can remove your site from the Google
search results.

One actual example of the application of this black hat SEO tactic
for Google bowling my own company site out the results is illustrated here

http://www.marketingfan.com/search-engines/google-proxy-bowling

Obivously this screams for a solution and Dan and Jamie already presented some methods
for doing that.

The project "antiproxyhack" implements these as a convenient drupal module
for all drupal users of version 5.x and upwards (we are considering a backport to 4.7 too, but want to get new sites updated first!)

Please use the CVS or dev version until v1.2! Thanks!

VersionDateLinksStatus
5.x-1.22007-Oct-29Recommended for 5.xThis is currently the recommended release for 5.x.

GoogleVerify

Small module to make using the Google Webmaster Tools site verification easier. Works with both the Meta Tag and the Upload File methods.

VersionDateLinksStatus
4.7.x-1.x-dev2006-Nov-13Development snapshotDevelopment snapshots are automatically regenerated and their contents can frequently change, so they are not recommended for production use.

Gotcha - Contact Spam Catcher

Gotcha is sort of a take off on "captcha." The idea was first mentioned on http://drupal.org/node/166921 as a possible way to trick spam bots who try to use the Drupal contact form. I don't particulary like the extra step humans are required to perform in these "verification" methods, and some just don't work.

The idea is simple: Basically you place a bogus input field on a contact form, and use CSS to not display it. On submission you check for a value. If there is a value entered, then that means a non-human has been blanketing form fields, and the form post can be ignored as spam. The spam bot will probably never know.

Gotcha adds a field labeled "Subject" at the top of the contact form. It uses a "div" tag to render the field as "display: none" so human users shouldn't see it, and won't enter any data there. Hopefully, the suspected spam bot will see "Subject" and be enticed to enter something there. There is descriptive text to encourage a human (whose browser might be set to display it anyway) to ignore this field.

Gotcha intercepts the contact form submission and checks the hidden field. If something is there, Gotcha simply returns to the front page and ignores the message. The attempt is logged, along with the submitter's IP address, and the suspect message is saved in the database. If the field is empty, then the message is passed on through to the contact module for normal processing.

Unfortunately, most of the spam was still getting through. And most of that was a bunch of links to drugs or porn. From exerience, I knew that the Spam module was already good at dealing with this in comments. After browsing that module, I found that I could "hook" into its filters and use them to identify spam.

All of my spam emails stopped immediately!

VersionDateLinksStatus
5.x-1.02007-Nov-17Recommended for 5.xThis is currently the recommended release for 5.x.

GTSpam

The GlobalTEK GTSpam module obfuscates email addresses to help prevent spambots from collecting them, without loosing the mailto URL scheme default semantics and operations (see RFC 2368).

VersionDateLinksStatus
5.x-0.42007-Oct-02Recommended for 5.xThis is currently the recommended release for 5.x.

Hashcash

Hashcash is a module which implements the Hashcash algorithm to help protect sites from spam. This module is similar to the popular wordpress plugin wp-hashcash.

Administrators are able to specify which roles need to pass a Hashcash check, and also which forms should have the hashcash check inserted into them

This is the first release of Hashcash, so any feedback would be greatly appreciated

The development of this module has been funded in part by the EDIT project

sdrycroft

VersionDateLinksStatus
5.x-1.22008-Apr-23Recommended for 5.xThis is currently the recommended release for 5.x.

htmLawed

htmLawed

The htmLawed module enables the use of the htmLawed (X)HTML filter/purifier PHP script in input format-, node (content) type-, body/teaser/comment-specific configurations.

Its speed and high configurability as well as its coverage of entire HTML (including elements like script, form and embed, CDATA sections, HTML comments, etc.) sets htmLawed apart from the in-built Drupal filter as well as many other filters that require external applications like HTML Tidy or use large resource-intensive libraries like HTMLPurifier.

The highly-customizable htmLawed filter can be used to make text with HTML markup more secure, and HTML standards- and admin-compliant. It can auto-correct HTML markup and restrict HTML elements (tags), attributes, and URL protocols in the input. It also balances tags and checks for proper nesting of the HTML elements. Furthermore, it can transform deprecated tags, check and convert character entities (e.g., from hexadecimal to decimal type), obfuscate email addresses as an anti-spam measure, etc.

VersionDateLinksStatus
6.x-1.22008-May-11Recommended for 6.xThis is currently the recommended release for 6.x.
5.x-1.82008-May-11Recommended for 5.xThis is currently the recommended release for 5.x.

http:BL

Implementation of http:BL for Drupal. It provides IP-based blacklisting through http:BL and allows linking to a honeypot. http:BL allows blocking of email harvesters and comment spammers through a centralized DNS blacklist. See http://www.projecthoneypot.org/httpbl.php for more information.

VersionDateLinksStatus
5.x-2.12008-Apr-29Recommended for 5.xThis is currently the recommended release for 5.x.

IP anonymizer

Stale IP addresses clog up your database with useless data, not to mention, may be subject to subpoena by legal authorities in some jurisdictions.

The IP anonymizer module helps ensure users' privacy by establishing a retention policy for IP addresses logged in Drupal's database tables. IP addresses are scrubbed on each cron run according to a configurable retention period. For example, you may wish to preserve IP addresses for a short while for purposes of identifying spam.

VersionDateLinksStatus
6.x-1.02008-Mar-31Recommended for 6.xThis is currently the recommended release for 6.x.

Login Security

With Login security a site administrator may add two types of access control to the login forms (default and block) within a defined time window.

VersionDateLinksStatus
6.x-1.x-dev2008-Jan-21Development snapshotDevelopment snapshots are automatically regenerated and their contents can frequently change, so they are not recommended for production use.
5.x-1.12008-Jan-24Recommended for 5.xThis is currently the recommended release for 5.x.

OG User Roles

Note: This module does not work with OG versions 5.7.2 and above!
The OG contributor has made some modifications to it's code since the last OGR release that appears to affect some OGR functionality. Will advise when an update is available. http://drupal.org/node/258976

This module allows you to assign group-specific roles to users which are restricted to the groups they are in. In other words, using this module, you can assign the role "contributor" to a user in a group, and the user will only have the permissions of that role while he is in that particular group.

OGR (OG User Roles) does NOT override existing site-wide roles. Any site-wide roles assigned to a user are not affected by OGR. This module simply allows you to add group-specific roles to a user's profile. See: http://drupal.org/node/189164

Requires og.module (og_forum.module no longer required as of Release 5.x-2.4).

Read the history of this module: http://drupal.org/node/87679

Other features of this module allow you to:

  • Assign a default role to all new users who sign up to your site.
  • Allow group admins to define default roles for signups to their groups. http://drupal.org/node/177414
  • Notify group admin of new group subscribers. Requires mimemail.module.
  • Set a default "Founder" group role for users who create groups.
VersionDateLinksStatus
5.x-3.12008-May-11Recommended for 5.xThis is currently the recommended release for 5.x.

OpenID URL

OpenID

Allows you to delegate your URL as an OpenID. This prevents your from having to run your own OpenID server while allowing you to harness your URL as an OpenID. If you switch OpenID Providers, just switch your settings in the module. This is based on this article which covers the topic in more depth.

VersionDateLinksStatus
6.x-1.32008-Mar-09Recommended for 6.xThis is currently the recommended release for 6.x.
5.x-1.32008-Mar-09Recommended for 5.xThis is currently the recommended release for 5.x.
4.7.x-1.02006-Dec-12Recommended for 4.7.xThis is currently the recommended release for 4.7.x.

Organic groups

Enable users to create and manage their own 'groups'. Each group can have subscribers, and maintains a group home page where subscribers communicate amongst themselves.

VersionDateLinksStatus
HEAD2008-May-09Development snapshotDevelopment snapshots are automatically regenerated and their contents can frequently change, so they are not recommended for production use.
5.x-7.22008-May-12Recommended for 5.xThis is currently the recommended release for 5.x.

Organic Groups Sites

Together, og_sites_hub and og_sites provide multisite functionality in which a central 'hub' site has a set of associated sites leveraging Organic Groups functionality to selectively share data (nodes and users), such that the hub site has access to all data while associated sites see and edit only their own data plus that specifically shared by the hub site.

VersionDateLinksStatus
5.x-1.x-dev2007-Jun-19Development snapshotDevelopment snapshots are automatically regenerated and their contents can frequently change, so they are not recommended for production use.

Paranoia

paranoia.module is for all the good sysadmins out there who think that allowing random CMS admins to execute PHP of their choice is not a safe idea.

VersionDateLinksStatus
5.x-1.02007-May-24Recommended for 5.xThis is currently the recommended release for 5.x.
4.7.x-1.x-dev2006-Nov-13Development snapshotDevelopment snapshots are automatically regenerated and their contents can frequently change, so they are not recommended for production use.

Password policy

This module provides a way to specify a certain level of password complexity (aka. "password hardening") for user passwords on a system by defining a password policy.

VersionDateLinksStatus
6.x-1.x-dev2008-Feb-13Development snapshotDevelopment snapshots are automatically regenerated and their contents can frequently change, so they are not recommended for production use.
4.7.x-1.x-dev2007-Jan-03Development snapshotDevelopment snapshots are automatically regenerated and their contents can frequently change, so they are not recommended for production use.

Password reset

The password_reset module allows for passwords to be reset without involving e-mail addresses through the use of security questions. This module would typically be used on sites that do not require users to enter their e-mail addresses or prefer not having to deal with spam folder issues etc.

VersionDateLinksStatus
5.x-1.1-beta2008-Mar-30Recommended for 5.xThis is currently the recommended release for 5.x.

Password Strength

This module provides a backport of Drupal 6's jQuery password strength checking to Drupal 5. It also adds PHP-based password strength checking and validation routines that mirror the jQuery routines, so that administrators can restrict passwords to only be, for example, "high" strength. The module simply modifies existing password confirm fields (where two passwords are entered, like the user edit form), so no other setup is required beyond configuring the desired enforcement rules.

VersionDateLinksStatus
5.x-1.22008-Apr-06Recommended for 5.xThis is currently the recommended release for 5.x.
 
 

Drupal is a registered trademark of Dries Buytaert.