Re: Hide email addresses from spam bots

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



David:

Your points are well taken. I was impressed by your javascript answer.

It seems to me that there should be something that could circumvent the CAPTCHA problem.

I haven't played around with cron, but could the CAPTCHA key be provided via a timed sequence?

For a human viewer, they could remember the sequence and for a bot, it might not be easy to capture.

Or perhaps, using a combination of random words, ask for a reply -- such as "Using the following text sequence, give me the second, fourth and next to last character?"

AKJNCYD

I know that I could come up with a lot of variations on that theme.

What do you think?

tedd

PS:

Assuming they have it in stock, I'm sure the staff would be more than happy
for me to stand then with merchandise open jotting down notes.

I do that all the time. I often jot down the ISBN number so I can buy it cheaper on Amazon

-----


tedd wrote:

 B) to read it via text contained within your web site.
 C) Run it through a regular HTML parser.

 And where does the HTML parser get it's text to parse if not from the web
 site?

I was distinguishing between greping text looking for something that looked
like an email address and parsing the HTML (which would do such things as
convert character references to normal characters).

 works for me and others -- sorry you had problems -- will look into it.

Seems to be working now, although it isn't clear what you were proposing.

Requiring the user to pass a CAPTCHA test before giving them the email
address? That has the usual drawbacks of such tests (as I referenced
before).

Hiding the email address within a CAPTCHA style obfuscation? Same problem,
with the extra issue that the user has to transcribe a much longer piece of
text and failue is less obvious.

 One way is to use Enkoder (it's javascript):

Which requires the end user to have JavaScript turned on,

 Yes, that's the reason I said "it's javascript".

Which could mean "The end user must have JavaScript turned on" OR "You must
have JavaScript turned on to generate some non-JavaScript that obfuscates
your email address".

and assumes that
bots can't parse JavaScript (they can, maybe not all, but certainly some).

 The point isn't that it can't be done, but rather that you create
 enough trouble for them to pass on your address.

That point is that JavaScript isn't too much trouble for some bots.

 If you think writing
 a parsing routine is simple, then write a routine to parses this:

<snip>

Oh what fun. I've never played with reading JavaScript programatically
before. It can't be that hard ...

#!/usr/bin/perl
use strict;
use warnings;
use JavaScript::SpiderMonkey;
my $js = JavaScript::SpiderMonkey->new();
$js->init();
my $document = $js->object_by_path("document");
my $extracted_html;
$js->function_set("write", sub { $extracted_html .= join ('', @_) },
$document);
my $rc = $js->eval(q!
function hiveware_enkoder(){var i,j,x,y,x=
// etc etc etc
while(x=eval(x));}hiveware_enkoder();
!);
print $extracted_html;

 at last count less than 9 percent of surfers don't have javascript.

There is no way to reliably gather such statistics.

 Reliable? You can rely on whatever you feel comfortable with. For me:

I could be comfortable relying on Del Boy to deliver quality merchandise at
a good price. That doesn't make him reliable.

PHP won't provide you with a way to display an email address to a human
but not to a spambot.

 I'm not talking about displaying an email address. I'm talking about
 creating a mailto:

So you generate a mailto: using PHP ... and the email address is in the
source, displayed to anybody who can find their view menu.

I'm not going to buy a book so I can explain why the technique won't work.

 Your choice OR you could visit a book store.

Assuming they have it in stock, I'm sure the staff would be more than happy
for me to stand then with merchandise open jotting down notes.


--
David Dorward       <http://blog.dorward.me.uk/>   <http://dorward.me.uk/>
                     Home is where the ~/.bashrc is

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


--
--------------------------------------------------------------------------------
http://sperling.com/

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux