NAME

Posy::Plugin::AntiSpambot - Posy plugin to obfustcate mail links

VERSION

This describes version 0.42 of Posy::Plugin::AntiSpambot.

SYNOPSIS

    @plugins = qw(Posy::Core
	...
	Posy::Plugin::AntiSpambot));
    @actions = qw(init_params
	...
	set_config
	anti_spambot_redirect_mail
	...
    );
    @entry_actions = qw(header
	    ...
	    parse_entry
	    anti_spambot_obscure_mail
	    ...
	);

DESCRIPTION

The aim of this plugin is to frustrate the attempts of spambots to harvest email addresses from your website, by concealing them by altering mailto: links according to a given policy. The choice of concealment policy is up to you.

Policies:

spell

Convert the link to plain text where the email is spelled out; the @ sign is converted to ' at ' and the '.' parts are converted to ' dot '.

Convert the mailto link to a link to the Posy cgi script with two parameters -- the username and the domain of the original email address. When someone clicks on the link, AntiSpambot will then interpret these parameters correctly and do a redirect to a mailto: URL, which your browser will then interpret just as if the original link were still there.

form

This is just like cgi_link above, but instead of putting the parameters into a link (which might be parsed by the spambot) it puts it into a form (which spambots are less likely to parse). And you get a button for folks to click on.

Activation

Add the plugin to the plugin list.

This plugin creates an 'anti_spambot_obscure_mail' entry action, which should be placed after 'parse_entry' in the entry_action list. If you are using the Posy::Plugin::ShortBody plugin, this should be placed after 'short_body' in the entry_action list, not before it.

This plugin also creates an 'anti_spambot_redirect_mail' action which will check the incoming parameters and give a redirect to a mailto: url. It needs to be placed after set_config in the action list, as it checks config variables.

Configuration

This expects configuration settings in the $self->{config} hash, which, in the default Posy setup, can be defined in the main "config" file in the config directory.

anti_spambot_policy

The policy to use on email links. By setting different configs in different directories, you can change this on a per-directory basis.

anti_spambot_at

The string to replace the '@' sign with if using the 'spell' policy. (default: ' at ')

anti_spambot_dot

The string to replace the '.' with if using the 'spell' policy. (default: ' dot ')

anti_spambot_prefix

The string to prefix the email with if using the 'spell' policy. (default: <)

anti_spambot_suffix

The string to append to the email if using the 'spell' policy. (default: >)

anti_spambot_user_param

The name of the parameter to define the user if using the 'cgi_link' or 'form' policy. There is deliberately no default for this, because everyone ought to define their own parameter, so that the spambots can't figure out a pattern.

anti_spambot_domain_param

The name of the parameter to define the domain if using the 'cgi_link' or 'form' policy. There is deliberately no default for this, because everyone ought to define their own parameter, so that the spambots can't figure out a pattern.

OBJECT METHODS

Documentation for developers and those wishing to write plugins.

init

Do some initialization; make sure that default config values are set.

Flow Action Methods

Methods implementing actions.

anti_spambot_redirect_mail

$self->anti_spambot_redirect_mail($flow_state)

If the AntiSpambot parameters are present, redirect to a mailto: URL

Entry Action Methods

Methods implementing per-entry actions.

anti_spambot_obscure_mail

$self->anti_spambot($flow_state, $current_entry, $entry_state)

Alters $current_entry->{body} by substituting mail links with obfustcated links.

Private Methods

_anti_spambot_do_spell

Return the stuff to be substituted in found links.

_anti_spambot_spell_out

Spell out one mail address subsituting just the at and dots.

Return the stuff to be substituted in found links.

REQUIRES

Posy
Posy::Core

Test::More

SEE ALSO

perl(1). Posy

BUGS

Please report any bugs or feature requests to the author.

AUTHOR

Kathryn Andersen (RUBYKAT)
perlkat AT katspace dot com
http://www.katspace.com

COPYRIGHT AND LICENCE

Copyright (c) 2005 by Kathryn Andersen http://www.katspace.com

Based in part on the Nomailto.pl script Written by Greg Mullane <greg AT turnstep DOT com> http://www.turnstep.com/Spambot/

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.