Textpattern CMS support forum
You are not logged in. Register | Login | Help
- Topics: Active | Unanswered
pap_contact_cleaner for any form
I’d like to make use of the technique employed in pap_contact_cleaner in other forms, and not necessarily on TXP based sites. Unfortunately, I don’t know enough about PHP to duplicate the technique. Would it be possible for someone to provide a straight PHP, non-plugin-based version of this that could be dropped into any form?
Offline
Re: pap_contact_cleaner for any form
create a hidden input text field:
<input type="text" name="telephone" value="" style="display:none">
In PHP, exit if something was entered in that field while submitting:
if (strlen($_REQUEST['telephone']))
{
echo "go away!";
exit;
}
Last edited by ruud (2007-04-27 08:44:17)
Offline
Re: pap_contact_cleaner for any form
It’s working! Thanks!
One question, though:
Rather than include the style commands in the input tag, I wrapped it in a div and set the div’s display to none.
I did this so that I could also include (and hide) a label saying “Leave this field empty” for anyone browsing without stylesheets. A pointless inclusion, perhaps, but wanted to cover my bases.
The question: Spambots ought still to see it, correct? Hiding the div rather than the input shouldn’t hinder the effectiveness of the anti-spam measure?
Thanks again!
Last edited by theturninggate (2007-04-28 03:27:16)
Offline
Re: pap_contact_cleaner for any form
I think pap_conctact_cleaner uses the “div” approach. It’s basically the same thing, since it assumes that the spammer doesn’t look at the styles whether that’s on the div or on the input element.
Offline
Re: pap_contact_cleaner for any form
Hm, this should be implemented on sdr_guestbook as well.
Offline
#6 2007-04-28 12:12:31
- els
- Moderator
- From: The Netherlands
- Registered: 2004-06-06
- Posts: 7,458
Re: pap_contact_cleaner for any form
ragger wrote:
Hm, this should be implemented on sdr_guestbook as well.
Offline
Re: pap_contact_cleaner for any form
It should probably be implemented in txp comments. That’s what sdr_guestbook is using, isn’t it?
Offline
Re: pap_contact_cleaner for any form
In that case, it shouldn’t be too hard to go from pap_contact_cleaner to something that also working for comments, see textbook
Offline
Re: pap_contact_cleaner for any form
Not sure if this is the right thread (can’t find one only for pap_contact_cleaner) but you can extend pap_contact_cleaner with the following functions to use it in conjunction with mem_form.
Edit the plugin code for pap_contact_cleaner and at the top after the other register_callbacks add:
// new callbacks for pap_cleaner honeypot fields for mem_form
register_callback('pap_zemcontact_form','mem_form.display');
register_callback('pap_memform_submit','mem_form.spam');
At the end add:
function pap_memform_submit() {
$checking_mail_field = trim(ps('mail'));
$checking_phone_field = trim(ps('phone'));
$evaluation =& get_mem_form_evaluator();
// If the hidden fields are filled out, the form won't be submitted!
if ($checking_mail_field != '' || $checking_phone_field != ''){
$evaluation -> add_status();
}
return;
}
Then it works with any form made using mem_form.
EDIT: this is for the current svn version (0.4) of mem_form.
Last edited by jakob (2008-04-23 09:12:59)
TXP Builders – finely-crafted code, design and txp
Offline