<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>MyLifeBBS &#187; DotNetNuke Captcha</title>
	<atom:link href="http://www.mylifebbs.com/tag/dotnetnuke-captcha/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mylifebbs.com</link>
	<description>The World without Boundaries</description>
	<lastBuildDate>Sat, 05 Jun 2010 14:17:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Guide to implement re-Captcha in DotNetNuke Modules without touching the source code.</title>
		<link>http://www.mylifebbs.com/2010/01/guide-to-implement-re-captcha-in-dotnetnuke-modules-without-touching-the-source-code/</link>
		<comments>http://www.mylifebbs.com/2010/01/guide-to-implement-re-captcha-in-dotnetnuke-modules-without-touching-the-source-code/#comments</comments>
		<pubDate>Fri, 01 Jan 2010 08:56:30 +0000</pubDate>
		<dc:creator>George</dc:creator>
				<category><![CDATA[DotNetNuke]]></category>
		<category><![CDATA[DotNetNuke Captcha]]></category>
		<category><![CDATA[reCaptcha]]></category>

		<guid isPermaLink="false">http://www.mylifebbs.com/283/guide-to-implement-re-captcha-in-dotnetnuke-modules-without-touching-the-source-code/</guid>
		<description><![CDATA[If you don’t know what is re-Captcha, this article: What is re-Captcha might help you to get on foot before starting this easy implement guide to install re-CaptCha into your DNN Modules. 
DotNetNuke users has long frustrated by the poor design of DotNetNuke Captcha which is has a critical flaw where the Captcha image will [...]


Related posts:<ol><li><a href='http://www.mylifebbs.com/2009/06/dotnetnuke-customizing-your-login-part-3/' rel='bookmark' title='Permanent Link: DotNetNuke Customizing your Login &#8211; PART 3'>DotNetNuke Customizing your Login &#8211; PART 3</a></li>
<li><a href='http://www.mylifebbs.com/2009/03/how-to-modify-dotnetnuke-login-page-the-easy-way/' rel='bookmark' title='Permanent Link: How to modify DotNetNuke Login Page? The Easy Way.'>How to modify DotNetNuke Login Page? The Easy Way.</a></li>
<li><a href='http://www.mylifebbs.com/2009/01/dotnetnuke-custom-error-page-404-page-not-found-redirection/' rel='bookmark' title='Permanent Link: DotNetNuke Custom Error Page, 404 Page Not Found Redirection'>DotNetNuke Custom Error Page, 404 Page Not Found Redirection</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>If you don’t know what is re-Captcha, this article: <a href="http://recaptcha.net/learnmore.html" target="_blank">What is re-Captcha</a> might help you to get on foot before starting this easy implement guide to install re-CaptCha into your DNN Modules. </p>
<p>DotNetNuke users has long frustrated by the poor design of DotNetNuke Captcha which is has a critical flaw where the Captcha image will be cached in the server and never being refresh if you set the cache the module or the whole page. One of the common error is the DotNetNuke Captcha’s image not showing issue when the DotNetNuke has <a href="http://www.snapsis.com/Default.aspx?tabid=589&amp;CATReferrer=5124" rel="nofollow" target="_blank">PageBlaster</a> installed, it is a big trade off for a big site to lack of either one of them.</p>
<p> <span id="more-283"></span>
<p>Despite the <a href="http://recaptcha.net/whyrecaptcha.html" target="_blank">advantages of using re-Captcha</a>, it has a big flaw which it has to connect to the internet to have it working properly. Else, let’s get started modifying your modules without the need of the module source code and recompiling them.</p>
<p>Step 1: <a href="https://admin.recaptcha.net/accounts/signup/" target="_blank">Register yourself a Key token</a> and <a href="http://code.google.com/p/recaptcha/downloads/list?q=label:aspnetlib-Latest" target="_blank">download the re-Captcha</a>.</p>
<p>Step 2: Unzip the download file and upload Recaptcha.dll to your DotNetNuke bin folder via FTP. (/httpdocs/bin)</p>
<p>Now the following guide uses Ventrian’s NewsArticle Module for demonstration.</p>
<p>Step 3: Download the ASCX file that handling News Article Comment layout from <em>/DesktopModules/DnnForge &#8211; NewsArticles/Controls/PostComment.ascx</em></p>
<p>Step 4: Open it with an editor and insert the reCAPTCHA control on top of the ASCX file (after Page control)</p>
<div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px">
<div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&lt;%@ Control Language=<span style="color: #006080">&quot;vb&quot;</span> AutoEventWireup=<span style="color: #006080">&quot;false&quot;</span> CodeBehind=<span style="color: #006080">&quot;PostComment.ascx.vb&quot;</span> <span style="color: #0000ff">Inherits</span>=<span style="color: #006080">&quot;Ventrian.NewsArticles.Controls.PostComment&quot;</span> %&gt;</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&lt;%@ Register TagPrefix=<span style="color: #006080">&quot;dnn&quot;</span> <span style="color: #0000ff">Assembly</span>=<span style="color: #006080">&quot;DotNetNuke&quot;</span> <span style="color: #0000ff">Namespace</span>=<span style="color: #006080">&quot;DotNetNuke.UI.WebControls&quot;</span>%&gt;</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&lt;%@ Register TagPrefix=<span style="color: #006080">&quot;recaptcha&quot;</span> <span style="color: #0000ff">Namespace</span>=<span style="color: #006080">&quot;Recaptcha&quot;</span> <span style="color: #0000ff">Assembly</span>=<span style="color: #006080">&quot;Recaptcha&quot;</span> %&gt;</pre>
</p></div>
</div>
<p>Step 5: Scroll down around line 28 where the default DNN Captcha is called:</p>
<div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px">
<div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&lt;dnn:captchacontrol id=<span style="color: #006080">&quot;ctlCaptcha&quot;</span> captchawidth=<span style="color: #006080">&quot;130&quot;</span> captchaheight=<span style="color: #006080">&quot;40&quot;</span> cssclass=<span style="color: #006080">&quot;Normal&quot;</span> runat=<span style="color: #006080">&quot;server&quot;</span> errorstyle-cssclass=<span style="color: #006080">&quot;NormalRed&quot;</span> /&gt;</pre>
</p></div>
</div>
<p>and insert the reCaptcha after it:</p>
<div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px">
<div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&lt;dnn:captchacontrol id=<span style="color: #006080">&quot;ctlCaptcha&quot;</span> captchawidth=<span style="color: #006080">&quot;130&quot;</span> captchaheight=<span style="color: #006080">&quot;40&quot;</span> cssclass=<span style="color: #006080">&quot;Normal&quot;</span> runat=<span style="color: #006080">&quot;server&quot;</span> errorstyle-cssclass=<span style="color: #006080">&quot;NormalRed&quot;</span> /&gt;</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&lt;recaptcha:RecaptchaControl</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">ID=<span style="color: #006080">&quot;recaptcha&quot;</span></pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">runat=<span style="color: #006080">&quot;server&quot;</span></pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">PublicKey=<span style="color: #006080">&quot;[TOKEN]&quot;</span>            </pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">PrivateKey=<span style="color: #006080">&quot;[TOKEN]&quot;</span></pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">/&gt;</pre>
</p></div>
</div>
<p>Replace the [TOKEN] with the key you get from the registration and That’s it! Now upload and replace the PostComment.ascx and go to NewsArticle Admin Setting to disable the default comment Captcha. However, due to the limitation of not touching the VB files, it is impossible to create some condition like only show reCaptcha to unregister visitors.</p>
<p>However, if you wish to change the reCaptcha design, here’s the <a href="http://recaptcha.net/apidocs/captcha/client.html" target="_blank">guide to customize the reCaptcha design</a>.</p>
<p>Hopefully reCaptcha will be integrated into more DNN modules. Btw, the above method will not work in DotNetNuke Feedback and UserDefinedTable Module due to the way they code the module.</p>


<p>Related posts:<ol><li><a href='http://www.mylifebbs.com/2009/06/dotnetnuke-customizing-your-login-part-3/' rel='bookmark' title='Permanent Link: DotNetNuke Customizing your Login &#8211; PART 3'>DotNetNuke Customizing your Login &#8211; PART 3</a></li>
<li><a href='http://www.mylifebbs.com/2009/03/how-to-modify-dotnetnuke-login-page-the-easy-way/' rel='bookmark' title='Permanent Link: How to modify DotNetNuke Login Page? The Easy Way.'>How to modify DotNetNuke Login Page? The Easy Way.</a></li>
<li><a href='http://www.mylifebbs.com/2009/01/dotnetnuke-custom-error-page-404-page-not-found-redirection/' rel='bookmark' title='Permanent Link: DotNetNuke Custom Error Page, 404 Page Not Found Redirection'>DotNetNuke Custom Error Page, 404 Page Not Found Redirection</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.mylifebbs.com/2010/01/guide-to-implement-re-captcha-in-dotnetnuke-modules-without-touching-the-source-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
