<?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>Web 3.0, 6 Bladed Razors, 7 Minute Abs &#187; Security</title>
	<atom:link href="http://www.zachleat.com/web/tag/security/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zachleat.com/web</link>
	<description></description>
	<lastBuildDate>Mon, 06 Feb 2012 17:09:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Registration Forms Suck, Let&#8217;s Mitigate Suckiness</title>
		<link>http://www.zachleat.com/web/registration-forms-suck-lets-mitigate-suckiness/</link>
		<comments>http://www.zachleat.com/web/registration-forms-suck-lets-mitigate-suckiness/#comments</comments>
		<pubDate>Sat, 10 Jan 2009 23:59:45 +0000</pubDate>
		<dc:creator>Zach Leatherman</dc:creator>
				<category><![CDATA[Application Design]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Forms]]></category>
		<category><![CDATA[OpenID]]></category>
		<category><![CDATA[Registration]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.zachleat.com/web/?p=181</guid>
		<description><![CDATA[A lot of people <strong>complain about registration forms</strong>. Some people have suggested getting rid of them altogether, allowing users to utilize login credentials from accounts they already have through OpenID.  But registration forms aren't going away.  How can we make them more friendly?]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.zachleat.com/web/wp-content/uploads/2009/01/signup-form.png" alt="Signup Form" title="signup-form" width="250" height="293" class="size-full wp-image-183" style="float:right" /> A lot of people <strong>complain about registration forms</strong>. Some people have suggested getting rid of them altogether, allowing users to utilize login credentials from accounts they already have through OpenID.  But even with a highly technical audience, OpenID adoption is <a href="http://blog.stackoverflow.com/2008/10/stack-overflow-openid-case-study/">problematic</a>.</p>
<p>So, some sites have gone two ways, allowing OpenID, but also a proprietary registration system.  This too, <a href="http://www.wetpaintcentral.com/page/OpenID?t=anon">is problematic</a>.  It would seem that given a choice, the <strong>John Doe the Plumber style user will choose a proprietary account</strong> over the confusing user experience presented to them through OpenID.</p>
<p>But the annoyance doesn&#8217;t just lie with account registration for web applications.  Typing your personal information on every blog you comment at is also repetitive and unnecessary.  <a href="http://www.ajaxian.com">Some sites</a> even require account registration for something so minor and transient as a blog comment.</p>
<p>Unfortunately, for the time being, it looks like <strong>registration forms are here to stay</strong>.  So, what can we do to make those registration forms more usable, more efficient, and ultimately downright friendly?  I know that you&#8217;re ahead of me on this one: <strong>Let&#8217;s auto-complete information for the user</strong>.</p>
<p>Please keep in mind that this power can be used for both good and evil.  Essentially what we&#8217;re discussing here is data mining available information from various social networking sites on the internet, trying to glean personal information about an end user that has volunteered a piece of their data already.  What can we get from what we already have?</p>
<p>Once a user has typed in their <strong>e-mail address</strong>, we can:</p>
<ul>
<li>Retrieve Twitter profile information (<a href="http://www.wait-till-i.com/2009/01/08/using-twitter-as-a-data-provider-to-automatically-fill-forms/">example shown on Chris Heilmann&#8217;s blog</a>):
<ul>
<li>Full Name</li>
<li>Short Personal Description</li>
<li>Location</li>
<li>Web site URL</li>
<li>Time Zone</li>
<li>Favorite Colors (used on their profile)</li>
</ul>
</li>
<li>Retrieve an <strong>avatar</strong> if they&#8217;ve registered for the Gravatar web service (<a href="http://www.zachleat.com/web/2009/01/08/scare-your-visitors-with-this-javascript-gravatar-plugin/">See my earlier post discussing this</a>).</li>
<li>Get their <a href="http://gdata-javascript-client.googlecode.com/svn/trunk/samples/calendar/simple_sample/simple_sample.html">upcoming calendar events</a> from a public Google Calendar. (Perhaps not as useful for autocompleting forms, but interesting)</li>
<li>Find their <a href="http://www.flickr.com/services/api/flickr.people.findByEmail.html">UID on Flickr</a>, which gives you <a href="http://www.flickr.com/services/api/flickr.people.getInfo.html">a source</a> for:
<ul>
<li>Full Name</li>
<li>Location</li>
<li>Flickr Avatar</li>
</ul>
</li>
</ul>
<p>If you know any of their social networking usernames, you can:</p>
<ul>
<li><a href="http://developer.yahoo.com/mybloglog/V1/member_find_byservice.html">find their MyBlogLog profile</a>, if they&#8217;ve linked the service to their account (<a href="http://mybloglog.yahooapis.com/v1/user/service/twitter/zachleat?AppId=YahooDemo&#038;format=xml">Sample query, I added my twitter</a>).  Now we have:
<ul>
<li>MyBlogLog Screen Name and ID, from which you get their <a href="http://developer.yahoo.com/mybloglog/V1/member_find_byid.html">MyBlogLog profile</a>:
<ul>
<li>Nickname</li>
<li>Picture</li>
<li>Age</li>
<li>Sex</li>
<li>Location</li>
<li>A list of tags they use to describe themselves.</li>
</ul>
</li>
<li>MyBlogLog Avatar</li>
</ul>
</li>
</ul>
<p>Those are only some of the proof of concept API&#8217;s that I&#8217;ve listed here.  The interesting piece of this, is that once you have a small piece of information, it <strong>opens up the door to other searches</strong>.</p>
<p>One can only imagine how many leaves are in this tree.  For example:</p>
<ul>
<li>Facebook&#8217;s <a href="http://wiki.developers.facebook.com/index.php/Users.getInfo">Users.getInfo</a> (<a href="http://wiki.developers.facebook.com/index.php/JavaScript_Client_Library">in JavaScript</a>)</li>
<li>Yahoo&#8217;s Social Tools, get an <a href="http://developer.yahoo.com/social/rest_api_guide/introspective-guid-resource.html">end user&#8217;s GUID</a> and go to town on <a href="http://developer.yahoo.com/social/rest_api_guide/social_dir_api.html">their profile</a>.
<li>Google Contacts, I didn&#8217;t even start to look through <a href="http://code.google.com/apis/contacts/">their API&#8217;s</a>.</li>
</ul>
<p>Before you start jumping the privacy fence to a self induced heart attack, remember that <strong>all this information has been volunteered</strong> by each individual participating in each of these services.  Remember, with great power comes great responsibility.</p>
<p>What do you think?  Scary or useful?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zachleat.com/web/registration-forms-suck-lets-mitigate-suckiness/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Obscurity, Security, and Captcha</title>
		<link>http://www.zachleat.com/web/obscurity-security-and-captcha/</link>
		<comments>http://www.zachleat.com/web/obscurity-security-and-captcha/#comments</comments>
		<pubDate>Fri, 02 Nov 2007 03:04:49 +0000</pubDate>
		<dc:creator>Zach Leatherman</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Captcha]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.zachleat.com/web/2007/11/01/obscurity-security-and-captcha/</guid>
		<description><![CDATA[On Ajaxian recently, there have been a few posts touting new and inventive replacements for the more traditional distorted and discolored &#8220;What does this image say?&#8221; Captcha gatekeeper for your web form. Of course these are all intended to provide a mechanism to tell the difference between an automated web bot that is spamming your [...]]]></description>
			<content:encoded><![CDATA[<p>On Ajaxian recently, there have been a few posts touting new and inventive replacements for the more traditional distorted and discolored &#8220;What does this image say?&#8221; Captcha gatekeeper for your web form.  Of course these are all intended to provide a mechanism to tell the difference between an automated web bot that is spamming your web form and a human being.</p>
<p>Obviously there are some accessibility issues with Captcha images, in that they are useless to those that are vision impaired.  Some sites provide an alternate link to an audio file that speaks a random word that you must then enter into the form.</p>
<p>One of the easiest ways to implement a Captcha on your site is to use the <a href="http://recaptcha.net/">reCAPTCHA plugin</a>.  But that&#8217;s not what I&#8217;m going to talk about here.  What I want to talk about is these new methods being introduced.</p>
<p>The first that was recently linked was <a href="http://ajaxian.com/archives/preventing-spam-with-drag-and-drop">a method that involved drag and drop</a> to authenticate the user.  Obviously this method is flawed, especially if the automated robot has access to fire JavaScript events.  It does nothing but introduce a different door that the spammer may not have seen before.  When this method gains any sort of popularity, or if a spammer decides to attack the site implementing this method specifically, it would not be difficult to bypass the Captcha.  This is referred to in the computer world as &#8220;<a href="http://en.wikipedia.org/wiki/Security_through_obscurity">Security through Obscurity</a>&#8220;.  This is not good practice.</p>
<p>The next post I read was <a href="http://almaer.com/blog/are-you-human">regarding an implementation that presented the user with 8 boxes</a>, with one of those boxes colored differently with an invitation to find and click on the differently colored box. The was implemented by <a href="http://www.passpack.com/info/home/">Passpack</a> (a password hosting service &#8212; should be focused on security, right?).  Correctly me if I&#8217;m wrong, but how is this difficult for the Spammer at all?  The whole point of a Captcha is to distort the text inside the image so much that the image can&#8217;t be read by an <a href="http://en.wikipedia.org/wiki/Optical_character_recognition">Optical Character Recognition (OCR)</a> program.  Basically, they&#8217;ve simplified it down to a one pixel image, which is an infinitely easier optical recognition problem.  You don&#8217;t even have to recognize characters, you can just see if the pixel is a 1 or a 0.  Forgive me for asking, but is that problem NP complete?</p>
<p>I am all for having more friendly humane methods of Spam Bot detection.  Just be wary of the methods you&#8217;re using.  Are they actually secure, or are they just obscure?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zachleat.com/web/obscurity-security-and-captcha/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

