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

Reply via email to