<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.1" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: Safer Mailto Links</title>
	<link>http://15daysofjquery.com/safer-mailto-links/8/</link>
	<description>Examples and tutorials to help you learn JQuery</description>
	<pubDate>Sat, 05 Jul 2008 19:00:13 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.1</generator>

	<item>
		<title>By: Andrea</title>
		<link>http://15daysofjquery.com/safer-mailto-links/8/#comment-9</link>
		<author>Andrea</author>
		<pubDate>Sat, 27 May 2006 09:03:08 +0000</pubDate>
		<guid>http://15daysofjquery.com/safer-mailto-links/8/#comment-9</guid>
					<description>Samples 3 and 4 are not always working on Fx. Firebug tells me that the post is not fired at all. Since I've never seen JQuery's ready 'event' fail to fire, I'm left wondering whether the post shouldn't wait for the load event instead: not that I would know why, but maybe you can't post before the page is loaded? Just wondering.
Also, and maybe slightly beside the point of a JQuery tutorial like this, I wonder how long it will take for email harvesters to read the 'generated' rather than the loaded source.
In fact, I'd be surprised if they don't already, since this kind of techniques have been around for a while now.
This said, nice work, it's great to see a short tutorials site for JQuery.</description>
		<content:encoded><![CDATA[<p>Samples 3 and 4 are not always working on Fx. Firebug tells me that the post is not fired at all. Since I&#8217;ve never seen JQuery&#8217;s ready &#8216;event&#8217; fail to fire, I&#8217;m left wondering whether the post shouldn&#8217;t wait for the load event instead: not that I would know why, but maybe you can&#8217;t post before the page is loaded? Just wondering.<br />
Also, and maybe slightly beside the point of a JQuery tutorial like this, I wonder how long it will take for email harvesters to read the &#8216;generated&#8217; rather than the loaded source.<br />
In fact, I&#8217;d be surprised if they don&#8217;t already, since this kind of techniques have been around for a while now.<br />
This said, nice work, it&#8217;s great to see a short tutorials site for JQuery.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Joel Birch</title>
		<link>http://15daysofjquery.com/safer-mailto-links/8/#comment-11</link>
		<author>Joel Birch</author>
		<pubDate>Sat, 27 May 2006 09:44:55 +0000</pubDate>
		<guid>http://15daysofjquery.com/safer-mailto-links/8/#comment-11</guid>
					<description>This is a great solution. I'm sick of using inline code to do generate the mailto address, because those solutions seem hacky and use document.write which only causes more problems for me.

Having not yet got my Ajax feet wet however, could you please post an example of what the php file contains? That would help me greatly. Thanks a lot.</description>
		<content:encoded><![CDATA[<p>This is a great solution. I&#8217;m sick of using inline code to do generate the mailto address, because those solutions seem hacky and use document.write which only causes more problems for me.</p>
<p>Having not yet got my Ajax feet wet however, could you please post an example of what the php file contains? That would help me greatly. Thanks a lot.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Joel Birch</title>
		<link>http://15daysofjquery.com/safer-mailto-links/8/#comment-13</link>
		<author>Joel Birch</author>
		<pubDate>Sat, 27 May 2006 14:07:25 +0000</pubDate>
		<guid>http://15daysofjquery.com/safer-mailto-links/8/#comment-13</guid>
					<description>Ok, I got it working anyway - that wasn't so hard after all. Cheers :)</description>
		<content:encoded><![CDATA[<p>Ok, I got it working anyway - that wasn&#8217;t so hard after all. Cheers <img src='http://15daysofjquery.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Jack</title>
		<link>http://15daysofjquery.com/safer-mailto-links/8/#comment-14</link>
		<author>Jack</author>
		<pubDate>Sat, 27 May 2006 14:49:59 +0000</pubDate>
		<guid>http://15daysofjquery.com/safer-mailto-links/8/#comment-14</guid>
					<description>@Andrea
I assume by Fx you mean Firefox... which I use too and it appears to be working fine. If someone else sees the same problem, please let me know.
I can't say for certain if harvesting programs can read generated code but I would think that it would be much more difficult.  And if you're asking the visitor to click a link or press a form button then I'd imagine that the bar would be raised that much further for email harvesting software.

As I mentioned in the tutorial:
&lt;blockquote&gt;Is this a rock solid way to absolutely guarantee that you will never get spam and only receive pleasant emails from friendly web visitors… no.&lt;/blockquote&gt;

@Joel
I'll post a link to the code shortly, even though you got it working. Glad you liked the tutorial.</description>
		<content:encoded><![CDATA[<p>@Andrea<br />
I assume by Fx you mean Firefox&#8230; which I use too and it appears to be working fine. If someone else sees the same problem, please let me know.<br />
I can&#8217;t say for certain if harvesting programs can read generated code but I would think that it would be much more difficult.  And if you&#8217;re asking the visitor to click a link or press a form button then I&#8217;d imagine that the bar would be raised that much further for email harvesting software.</p>
<p>As I mentioned in the tutorial:</p>
<blockquote><p>Is this a rock solid way to absolutely guarantee that you will never get spam and only receive pleasant emails from friendly web visitors… no.</p></blockquote>
<p>@Joel<br />
I&#8217;ll post a link to the code shortly, even though you got it working. Glad you liked the tutorial.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Andrea</title>
		<link>http://15daysofjquery.com/safer-mailto-links/8/#comment-17</link>
		<author>Andrea</author>
		<pubDate>Mon, 29 May 2006 09:04:38 +0000</pubDate>
		<guid>http://15daysofjquery.com/safer-mailto-links/8/#comment-17</guid>
					<description>Hi again. I'm having the same problem again on another PC at work, again with Firefox 1.5.0.3 (I know that sounds a bit überGeeky, but Fx is the 'official' preferred abbreviation for Fx). In particular, it happens if you come back to the page after a first visit. I need to refresh to see the effect. I'm not at all sure why this happens. One would think that it has something to do with the cache, like if jQuery's ajax plugin wasn't calling back your function when data is retrieved from the cache, but I doubt it. I'd probably try to run the code in a $("document").load rather than $("document").ready and see if that changes anything. Unless of course I'm really the only Fx user on earth who's having this problem, but that sounds unlikely.  
On the other point, I'm afraid reading the generated source is not that hard (a Firefox extension wouldn't be too hard to develop - in fact I use a few who do already), but I agree that it is still more work, in particular if you also ask for an additional action from the user.
In fact, in spite of my worries, I'm seriously thinking about using your solution...
Cheers.</description>
		<content:encoded><![CDATA[<p>Hi again. I&#8217;m having the same problem again on another PC at work, again with Firefox 1.5.0.3 (I know that sounds a bit überGeeky, but Fx is the &#8216;official&#8217; preferred abbreviation for Fx). In particular, it happens if you come back to the page after a first visit. I need to refresh to see the effect. I&#8217;m not at all sure why this happens. One would think that it has something to do with the cache, like if jQuery&#8217;s ajax plugin wasn&#8217;t calling back your function when data is retrieved from the cache, but I doubt it. I&#8217;d probably try to run the code in a $(&#8221;document&#8221;).load rather than $(&#8221;document&#8221;).ready and see if that changes anything. Unless of course I&#8217;m really the only Fx user on earth who&#8217;s having this problem, but that sounds unlikely.<br />
On the other point, I&#8217;m afraid reading the generated source is not that hard (a Firefox extension wouldn&#8217;t be too hard to develop - in fact I use a few who do already), but I agree that it is still more work, in particular if you also ask for an additional action from the user.<br />
In fact, in spite of my worries, I&#8217;m seriously thinking about using your solution&#8230;<br />
Cheers.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Jeff</title>
		<link>http://15daysofjquery.com/safer-mailto-links/8/#comment-18</link>
		<author>Jeff</author>
		<pubDate>Mon, 29 May 2006 20:25:24 +0000</pubDate>
		<guid>http://15daysofjquery.com/safer-mailto-links/8/#comment-18</guid>
					<description>I'm really enjoying this jquery series.  Thank you!

I have a problem reading these posts through rss (specifically: with bloglines) because the links to your examples use relative addressing.</description>
		<content:encoded><![CDATA[<p>I&#8217;m really enjoying this jquery series.  Thank you!</p>
<p>I have a problem reading these posts through rss (specifically: with bloglines) because the links to your examples use relative addressing.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Jack</title>
		<link>http://15daysofjquery.com/safer-mailto-links/8/#comment-20</link>
		<author>Jack</author>
		<pubDate>Mon, 29 May 2006 21:47:40 +0000</pubDate>
		<guid>http://15daysofjquery.com/safer-mailto-links/8/#comment-20</guid>
					<description>@Jeff,
Great catch. I'm going to fix that tonight.  I'm currently trying to catch up from taking Memorial Day weekend off.

Thanks for the heads up. Didn't even consider it, so you helped out a ton with that comment.</description>
		<content:encoded><![CDATA[<p>@Jeff,<br />
Great catch. I&#8217;m going to fix that tonight.  I&#8217;m currently trying to catch up from taking Memorial Day weekend off.</p>
<p>Thanks for the heads up. Didn&#8217;t even consider it, so you helped out a ton with that comment.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Jack</title>
		<link>http://15daysofjquery.com/safer-mailto-links/8/#comment-21</link>
		<author>Jack</author>
		<pubDate>Mon, 29 May 2006 22:32:11 +0000</pubDate>
		<guid>http://15daysofjquery.com/safer-mailto-links/8/#comment-21</guid>
					<description>@Andrea,
I too use 1.5.03 and I don't see any problems. Demo 3 doesn't do the fade in when you visit another page and then hit the back button, but the mailto links are there. If that's the issue, then I think you'd need to send some specifically designed headers via server side code to prevent the browser from caching the content.</description>
		<content:encoded><![CDATA[<p>@Andrea,<br />
I too use 1.5.03 and I don&#8217;t see any problems. Demo 3 doesn&#8217;t do the fade in when you visit another page and then hit the back button, but the mailto links are there. If that&#8217;s the issue, then I think you&#8217;d need to send some specifically designed headers via server side code to prevent the browser from caching the content.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Antonio</title>
		<link>http://15daysofjquery.com/safer-mailto-links/8/#comment-22</link>
		<author>Antonio</author>
		<pubDate>Tue, 30 May 2006 11:29:38 +0000</pubDate>
		<guid>http://15daysofjquery.com/safer-mailto-links/8/#comment-22</guid>
					<description>I had this "e-mail protection" problem recently, and I was worried also by the generated code, but I didn't know about jQuery. In the end I did this:
http://bcds.udg.es/red-mpls/participantes.php

Now I have to do a jQuery version :)</description>
		<content:encoded><![CDATA[<p>I had this &#8220;e-mail protection&#8221; problem recently, and I was worried also by the generated code, but I didn&#8217;t know about jQuery. In the end I did this:<br />
<a href="http://bcds.udg.es/red-mpls/participantes.php" rel="nofollow">http://bcds.udg.es/red-mpls/participantes.php</a></p>
<p>Now I have to do a jQuery version <img src='http://15daysofjquery.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Andrea</title>
		<link>http://15daysofjquery.com/safer-mailto-links/8/#comment-46</link>
		<author>Andrea</author>
		<pubDate>Thu, 08 Jun 2006 17:05:36 +0000</pubDate>
		<guid>http://15daysofjquery.com/safer-mailto-links/8/#comment-46</guid>
					<description>@Jack,
I have no idea of what was happening, but it's working without any problem now on my home PC (only thing that changed is that I just updated to 1.5.0.4, but I'm sure that has nothing to do with it). I'll also try again from work, but in the meanwhile apologies for the false alarm. 

@Antonio,
Great solution! Thanks for sharing.</description>
		<content:encoded><![CDATA[<p>@Jack,<br />
I have no idea of what was happening, but it&#8217;s working without any problem now on my home PC (only thing that changed is that I just updated to 1.5.0.4, but I&#8217;m sure that has nothing to do with it). I&#8217;ll also try again from work, but in the meanwhile apologies for the false alarm. </p>
<p>@Antonio,<br />
Great solution! Thanks for sharing.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Steve</title>
		<link>http://15daysofjquery.com/safer-mailto-links/8/#comment-49</link>
		<author>Steve</author>
		<pubDate>Fri, 09 Jun 2006 13:08:52 +0000</pubDate>
		<guid>http://15daysofjquery.com/safer-mailto-links/8/#comment-49</guid>
					<description>Would you mind commenting on this Javascript technique?  It seems to work, so far.  Are there any drawbacks with it?
http://www.badboy.ro/articles/2005-01-25/</description>
		<content:encoded><![CDATA[<p>Would you mind commenting on this Javascript technique?  It seems to work, so far.  Are there any drawbacks with it?<br />
<a href="http://www.badboy.ro/articles/2005-01-25/" rel="nofollow">http://www.badboy.ro/articles/2005-01-25/</a></p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Jack</title>
		<link>http://15daysofjquery.com/safer-mailto-links/8/#comment-53</link>
		<author>Jack</author>
		<pubDate>Fri, 09 Jun 2006 14:35:36 +0000</pubDate>
		<guid>http://15daysofjquery.com/safer-mailto-links/8/#comment-53</guid>
					<description>@Steve,
The page you've linked to gives some code that is short, but I don't think is quite as good as what I've presented for two reasons:

1- The email address is sitting in the source of the html as you(at)isp.com which could make it very easy for a spam harvester to come along and grab. IMO easier to grab this kind of text and transpose the (at) with a true @ sign than what I've done here, which is to put the email addresses in a separate file.

2- Pulling off multiple email addresses on one page looks tedious with the code you linked to.

That said, if it works for you - who am I to tell you not to use it?</description>
		<content:encoded><![CDATA[<p>@Steve,<br />
The page you&#8217;ve linked to gives some code that is short, but I don&#8217;t think is quite as good as what I&#8217;ve presented for two reasons:</p>
<p>1- The email address is sitting in the source of the html as you(at)isp.com which could make it very easy for a spam harvester to come along and grab. IMO easier to grab this kind of text and transpose the (at) with a true @ sign than what I&#8217;ve done here, which is to put the email addresses in a separate file.</p>
<p>2- Pulling off multiple email addresses on one page looks tedious with the code you linked to.</p>
<p>That said, if it works for you - who am I to tell you not to use it?</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Curious George</title>
		<link>http://15daysofjquery.com/safer-mailto-links/8/#comment-2001</link>
		<author>Curious George</author>
		<pubDate>Tue, 16 Jan 2007 23:47:15 +0000</pubDate>
		<guid>http://15daysofjquery.com/safer-mailto-links/8/#comment-2001</guid>
					<description>Interesting idea. But the generated source will still show the email address(es). What is preventing an intelligent spammer to scraping through the generated source code using some simple scripts?</description>
		<content:encoded><![CDATA[<p>Interesting idea. But the generated source will still show the email address(es). What is preventing an intelligent spammer to scraping through the generated source code using some simple scripts?</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Jack</title>
		<link>http://15daysofjquery.com/safer-mailto-links/8/#comment-2003</link>
		<author>Jack</author>
		<pubDate>Wed, 17 Jan 2007 01:32:59 +0000</pubDate>
		<guid>http://15daysofjquery.com/safer-mailto-links/8/#comment-2003</guid>
					<description>George,
The code I'm familiar with for grabbing remote files is the PHP Snoopy class. To my knowledge, this is not capable of grabbing "generated" source html since a javascript enabled browser, or some similar mechanism, would be required to run the javascript code... but I also have to assume that you have a few scripts in mind that would do the trick.

That said, I would answer it this way:

1) It's not as secure as a good &lt;a hef="http://www.ultimateformmail.com/" rel="nofollow"&gt;contact form&lt;/a&gt; and server side processor, and I never intended to give that impression.

2) Spammers are lazy, and there are plenty of easier ways to harvest email addresses

3) It's up to the webmaster/coder to decide what tradeoff they want to strike between easy of use and security. I'm pretty clear in my article that on one end of the spectrum you have a contact form, on the other you have a naked mailto link, and in between somewhere you have this technique.

4) I've been reading articles about some spammers going so far as to hire people to type in captchas.  So the "unbreakable" CAPTCHA that is frustrating for good guys to use, isn't even a foolproof solution against spam.</description>
		<content:encoded><![CDATA[<p>George,<br />
The code I&#8217;m familiar with for grabbing remote files is the PHP Snoopy class. To my knowledge, this is not capable of grabbing &#8220;generated&#8221; source html since a javascript enabled browser, or some similar mechanism, would be required to run the javascript code&#8230; but I also have to assume that you have a few scripts in mind that would do the trick.</p>
<p>That said, I would answer it this way:</p>
<p>1) It&#8217;s not as secure as a good <a hef="http://www.ultimateformmail.com/" rel="nofollow">contact form</a> and server side processor, and I never intended to give that impression.</p>
<p>2) Spammers are lazy, and there are plenty of easier ways to harvest email addresses</p>
<p>3) It&#8217;s up to the webmaster/coder to decide what tradeoff they want to strike between easy of use and security. I&#8217;m pretty clear in my article that on one end of the spectrum you have a contact form, on the other you have a naked mailto link, and in between somewhere you have this technique.</p>
<p>4) I&#8217;ve been reading articles about some spammers going so far as to hire people to type in captchas.  So the &#8220;unbreakable&#8221; CAPTCHA that is frustrating for good guys to use, isn&#8217;t even a foolproof solution against spam.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: anonymous</title>
		<link>http://15daysofjquery.com/safer-mailto-links/8/#comment-2874</link>
		<author>anonymous</author>
		<pubDate>Wed, 14 Feb 2007 04:07:07 +0000</pubDate>
		<guid>http://15daysofjquery.com/safer-mailto-links/8/#comment-2874</guid>
					<description>How about just:
$('a.emaillink').each(function(){
	var to_replace = ' [at-no-spam] ';
	$(this).html(
		$(this).html().replace(to_replace, '@')
	).attr('href', 
		$(this).attr('href').replace(to_replace, '@')
	);
});

and:
&lt;a href="mailto:test [at-no-spam] gmail.com" rel="nofollow"&gt;test [at-no-spam] gmail.com&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>How about just:<br />
$(&#8217;a.emaillink&#8217;).each(function(){<br />
	var to_replace = &#8216; [at-no-spam] &#8216;;<br />
	$(this).html(<br />
		$(this).html().replace(to_replace, &#8216;@&#8217;)<br />
	).attr(&#8217;href&#8217;,<br />
		$(this).attr(&#8217;href&#8217;).replace(to_replace, &#8216;@&#8217;)<br />
	);<br />
});</p>
<p>and:<br />
<a href="mailto:test [at-no-spam] gmail.com" rel="nofollow">test [at-no-spam] gmail.com</a></p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Jack</title>
		<link>http://15daysofjquery.com/safer-mailto-links/8/#comment-2875</link>
		<author>Jack</author>
		<pubDate>Wed, 14 Feb 2007 04:11:30 +0000</pubDate>
		<guid>http://15daysofjquery.com/safer-mailto-links/8/#comment-2875</guid>
					<description>anon,
Actually, I have a plugin that does just that coming soon.</description>
		<content:encoded><![CDATA[<p>anon,<br />
Actually, I have a plugin that does just that coming soon.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: sunfish</title>
		<link>http://15daysofjquery.com/safer-mailto-links/8/#comment-5209</link>
		<author>sunfish</author>
		<pubDate>Mon, 23 Apr 2007 13:17:11 +0000</pubDate>
		<guid>http://15daysofjquery.com/safer-mailto-links/8/#comment-5209</guid>
					<description>Uuups, my first post has vanished and the second is not complete. I do not know how to post code. But you can have a look at the mentioned homepage.</description>
		<content:encoded><![CDATA[<p>Uuups, my first post has vanished and the second is not complete. I do not know how to post code. But you can have a look at the mentioned homepage.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Srini</title>
		<link>http://15daysofjquery.com/safer-mailto-links/8/#comment-12637</link>
		<author>Srini</author>
		<pubDate>Fri, 14 Sep 2007 05:28:40 +0000</pubDate>
		<guid>http://15daysofjquery.com/safer-mailto-links/8/#comment-12637</guid>
					<description>Nice tutorial.. 
I tried this and it just didnt work.
Should I delay the slideDown somehow??



Slide down


$(document).load( function() {
$("div.slideMe").slideDown("slow");
});




&lt;a href="http://www.google.com" rel="nofollow"&gt;Google&lt;/a&gt;
jQuery really does it..


</description>
		<content:encoded><![CDATA[<p>Nice tutorial..<br />
I tried this and it just didnt work.<br />
Should I delay the slideDown somehow??</p>
<p>Slide down</p>
<p>$(document).load( function() {<br />
$(&#8221;div.slideMe&#8221;).slideDown(&#8221;slow&#8221;);<br />
});</p>
<p><a href="http://www.google.com" rel="nofollow">Google</a><br />
jQuery really does it..</p>
]]></content:encoded>
				</item>
</channel>
</rss>
