<?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>Website In A Weekend &#187; Website security</title>
	<atom:link href="http://website-in-a-weekend.net/category/website-security/feed/" rel="self" type="application/rss+xml" />
	<link>http://website-in-a-weekend.net</link>
	<description>Web Zero to Web Hero</description>
	<lastBuildDate>Wed, 18 Apr 2012 23:24:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>After the Hack, Restore, or Start Fresh?</title>
		<link>http://website-in-a-weekend.net/website-security/hack-restore-start-fresh/</link>
		<comments>http://website-in-a-weekend.net/website-security/hack-restore-start-fresh/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 18:32:33 +0000</pubDate>
		<dc:creator>Dave Doolin</dc:creator>
				<category><![CDATA[Website security]]></category>
		<category><![CDATA[Hacked]]></category>
		<category><![CDATA[Heather Craik]]></category>

		<guid isPermaLink="false">http://website-in-a-weekend.net/?p=18892</guid>
		<description><![CDATA[(Reading time: 4 &#8211; 7 minutes) Welcome back. We&#8217;re picking up Heather&#8217;s &#8220;Silence is Golden&#8221; story from a couple of days ago. She&#8217;s played some video games, had a good night&#8217;s sleep, let&#8217;s see what she is going to do next. An unwelcome visitor, continued -by Heather Craik After some thinking and a good sleep [...]<p>Post from: <a href="http://website-in-a-weekend.net">Website In A Weekend</a><br/><br/><a href="http://website-in-a-weekend.net/website-security/hack-restore-start-fresh/">After the Hack, Restore, or Start Fresh?</a></p>
]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p class="estread return-true">(Reading time: 4 &#8211; 7 minutes)</p>
<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fhack-restore-start-fresh%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fhack-restore-start-fresh%2F&amp;source=websiteweekend&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Welcome back.  We&#8217;re picking up Heather&#8217;s &#8220;<a href="http://website-in-a-weekend.net/website-security/silence-golden-heather/">Silence is Golden</a>&#8221; story from a couple of days ago.  She&#8217;s played some video games, had a good night&#8217;s sleep, let&#8217;s see what she is going to do next.</p>
<hr />
<h2>An unwelcome visitor, continued</h2>
<p><strong>-by <a href="http://www.shadesofadream.com/blog/">Heather Craik</a></strong></p>
<p>After some thinking and a good sleep I actually started to feel pretty positive about the whole thing.  My old work in its old form was gone.  However, I still had all of the posts themselves in their original form.  In addition, there were also time constraints on me due to college work and so on; I hadn&#8217;t had time to update as often as I liked, because I couldn&#8217;t justify creating loads of new posts in my current scrambling situation.  </p>
<h2>Then the pieces were picked up</h2>
<p>Plus, there were other things I&#8217;d been wanting to test out on my blog that I&#8217;d been putting off; too new, too much work, not enough time.  Inadvertently, what this hacking had done was give me a golden, shining opportunity to change.  I had an excuse now.  &#8220;Oh, I was hacked so I had to change a few things&#8221; &#8211; if the change didn&#8217;t work I could always use that.</p>
<p>(I never did, because that would have been wrong and highly hypocritical.  Being human though, it was nice to have the illusionary safety net.  I won&#8217;t tell if you won&#8217;t.)</p>
<p>New and improved plan in hand, I ventured forth into the decaying ruins that had been my blog.  Destroy and rebuild; Change.  I was excited, and possibly even happy.  Here was the chance to take everything I&#8217;d done right, cull the stuff I&#8217;d done wrong, polish everything up and remake it &#8211; but better!</p>
<h2>Plans were made&#8230;</h2>
<p>It took me the better part of a day to get my WordPress installations up; themes, posts, comics, and so on could come later.  There were all sorts of little problems that demanded attention, crying and bawling at me until they were fixed (the RSS feed was possibly the loudest).  In the end, I decided that I could take time to get it right.  There was no need to rush and make it all perfect all at once.</p>
<p><strong>If I was going to redo it all, then by golly I was going to do it properly.</strong></p>
<h2>&#8230;and plans found unnecessary</h2>
<p>Now while I was trying to fix the niggles and errors in my new blog I got a load of work moved forward a week in college; the whole site ground to a halt while I dealt with my main project.  This meant that it was still broken by Saturday.  (The cavalry always arrives on Saturday.)</p>
<p>I&#8217;m referring of course to Brian, my host/system admin/tech support. I don&#8217;t really like to bug him for normal, everyday things but in situations like this he&#8217;s great to have on board.  Cutting a long story short, Brian restored my backup the correct way and everything up until the 3rd of May returned.</p>
<h2>New ideas were spawned</h2>
<p>&#8220;But Heather, what of your new and exciting plans to make it better?  Doesn&#8217;t having it all back defeat the purpose?&#8221;  </p>
<p>Honestly? Yes and no.  Everything I&#8217;d planned to do had assumed a clean slate, where I could change categories and tags with impunity and re-write everything without risk of duplication.  However, having everything back saved me from a lot of 404 errors (hadn&#8217;t even wanted to think about those before) and meant that I could look at things from a different perspective.</p>
<p>All was definitely not lost and large amounts were gained.  With some tweaking I could still go ahead and create the blog my readers deserve.  Smarter steps were needed but the direction remained the same.  </p>
<h2>And the event was reviewed</h2>
<p><strong>Wrong Moves</strong>:</p>
<ol>
<li>I ignored that there was a problem for almost a full day before I looked at it properly.</li>
<li>I let it affect the entire rest of my day after discovery.</li>
<li>I handed the power to affect my mood over to the hacker.  (cliche, maybe, but true)</li>
<li>I deleted the original files, and tried to fix everything on my own.</li>
<li>I wasn&#8217;t aware of how to restore my backup properly, which led to the assumption that it didn&#8217;t work.</li>
</ol>
<p><strong>Right Moves</strong>:</p>
<ol>
<li>I removed myself from the situation instead of jumping in to fix it straight away.</li>
<li>I sought help from people more experienced than I was (helpful also for the side benefit of support).</li>
<li>I had a backup, however long ago it had been.</li>
<li>I planned, even when I thought all was lost.</li>
<li>I kept going.</li>
</ol>
<h2>Bringing us to the conclusion</h2>
<p>Ultimately the whole experience was more annoying than damaging. The hacker hadn&#8217;t done anything truly horrible like remove every single file in the directory, nor had they gained access to cPanel itself (where they could have deleted the backups and left me at the mercy of whatever I had on my own hard drive).  Everyone says &#8216;back up your blog&#8217;.  They&#8217;re right to do so.  </p>
<p>However lets amend it to &#8216;<em>Back up your blog at least every week and find out how to restore them properly</em>&#8216;.  You can bet I will be.  </p>
<p>Another saying that&#8217;s often bandied about is &#8216;look before you leap&#8217; &#8211; If you have someone you know could help you then don&#8217;t do anything drastic in the meantime.  The only solution visible to you might be a complete overhaul. </p>
<p>However, we&#8217;re not the most objective people when it comes to our own blogs.  Consulting someone more knowledgeable is definitely worth your time.</p>
<p>One last thought:  </p>
<p><strong>“If everything seems under control, you&#8217;re just not going fast enough.” &#8211; Mario Andretti.</strong>  </p>
<hr />
<p>Dave here&#8230; question for readers: <em>If you had a major hack, would you restore everything exactly as it was before the hack?  Or would you take the opportunity to do a major upgrade?</em>  </p>
<hr />
<div class="pbio">
<a href="http://shadesofadream.com/blog"><img class="biopic" src="http://website-in-a-weekend.net/wp-content/plugins/aaa-personal-plugin/images/heather_headshot_150x150.png" align="right" /></a>
Heather writes <a href="http://shadesofadream.com/blog">The 3D Student</a> providing 
video tutorials, reviews, and advice for 3D students.  
She loves working with light and texture for 
animation and modeling, 
writing, drawing, film and playing video games.  
Visit Heather at <a href="http://shadesofadream.com/blog">The 3D Student</a>.
</div>
<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fhack-restore-start-fresh%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fhack-restore-start-fresh%2F&amp;source=websiteweekend&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Post from: <a href="http://website-in-a-weekend.net">Website In A Weekend</a><br/><br/><a href="http://website-in-a-weekend.net/website-security/hack-restore-start-fresh/">After the Hack, Restore, or Start Fresh?</a></p>
<div class="shr-publisher-18892"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fhack-restore-start-fresh%2F' data-shr_title='After+the+Hack%2C+Restore%2C+or+Start+Fresh%3F'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fhack-restore-start-fresh%2F' data-shr_title='After+the+Hack%2C+Restore%2C+or+Start+Fresh%3F'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://website-in-a-weekend.net/website-security/hack-restore-start-fresh/feed/</wfw:commentRss>
		<slash:comments>40</slash:comments>
		</item>
		<item>
		<title>Silence is Golden?  Not according to Heather</title>
		<link>http://website-in-a-weekend.net/website-security/silence-golden-heather/</link>
		<comments>http://website-in-a-weekend.net/website-security/silence-golden-heather/#comments</comments>
		<pubDate>Mon, 31 May 2010 17:12:36 +0000</pubDate>
		<dc:creator>Dave Doolin</dc:creator>
				<category><![CDATA[Website security]]></category>
		<category><![CDATA[Backups]]></category>
		<category><![CDATA[Hacked]]></category>
		<category><![CDATA[Heather Craik]]></category>

		<guid isPermaLink="false">http://website-in-a-weekend.net/?p=18882</guid>
		<description><![CDATA[(Reading time: 6 &#8211; 10 minutes) Back in the day, website hacks were either pranks, where the hacker would simply leave a calling card, or outright criminal activity targeting large corporations. We should have it so good. Nowadays, hacking seems to be just vandalism, plain and simple. Boring. And frustrating when it hits close to [...]<p>Post from: <a href="http://website-in-a-weekend.net">Website In A Weekend</a><br/><br/><a href="http://website-in-a-weekend.net/website-security/silence-golden-heather/">Silence is Golden?  Not according to Heather</a></p>
]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p class="estread return-true">(Reading time: 6 &#8211; 10 minutes)</p>
<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fsilence-golden-heather%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fsilence-golden-heather%2F&amp;source=websiteweekend&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Back in the day, website hacks were either pranks, where the hacker would simply leave a calling card, or outright criminal activity targeting large corporations.  We should have it so good.  Nowadays, hacking seems to be just vandalism, plain and simple.  Boring.  And frustrating when it hits close to home.  For example, Heather and I have been cooking up some web magic on the back channel over the last couple months.  So when <em>Heather Got Hacked</em>, it messed with our collaboration timeline.  And that&#8217;s&#8230; annoying.</p>
<p>Let&#8217;s hear what Heather has to say about it.</p>
<hr />
<h2>An unwelcome visitor</h2>
<p><strong>-by <a href="http://www.shadesofadream.com/blog/">Heather Craik</a></strong></p>
<p>My blog isn&#8217;t a big one.  I&#8217;m not a &#8216;Problogger&#8217; and I don&#8217;t have hundreds and hundreds of followers.  My traffic isn&#8217;t even terribly great at the moment.  One thing I do have, though, is a hacker.  </p>
<p><strong>As far as &#8220;perks,&#8221; having a hacker is one I could do without!  </strong></p>
<p>When I noticed what had happened the first thing I did was nudge Dave, who (after helping me out a little) asked if I&#8217;d come and share my story with you.  Morals of the story can come later, but there&#8217;s one thing I&#8217;d like you to keep in mind as you read through.  This could happen to you too.</p>
<p>Without further ado lets travel back a bit to the morning before I discovered my unwanted visitor&#8230; (Grab yourself a coffee or something, this is going to be a long one)</p>
<h2>It began with a feeling&#8230;</h2>
<p>The day started a little later than normal but not in any particularly remarkable way (unless sleeping late is considered remarkable?), and I went through normal morning routine stuff.  Won&#8217;t bore you with the details there, we all have our own methods.  Sat down and did some work offline; writing with actual pen and paper followed by planning my day.  Checked emails, checked blogs, commented a few times.</p>
<p>That&#8217;s when I saw the first sign.  In fact no, if I&#8217;m being totally honest, I&#8217;d wondered about this &#8216;first sign&#8217; the day before as well but hadn&#8217;t had the time to check into it.  CommentLuv was showing &#8216;No last posts to return&#8217;.  To my shame, I didn&#8217;t instantly check in on my blog.  I went around CommentLuv&#8217;s site first, got to the troubleshooter part, and arrived at my own blog in a very circular fashion.  Now it&#8217;s worth pointing out that I&#8217;d known it was showing blank the day before since someone else had pointed it out to me.  I&#8217;d dutifully gone and checked, had a look in cPanel at the files, and concluded that it was probably the server (I was very distracted at the time).  </p>
<p><em>Already the dread was creeping in. I could feel there was something wrong.</em>  </p>
<p>Doubt had curled its insidious fingers around my brain, doubt which was only compounded when I tried to access my WordPress Dashboard and was met with the same blank page.</p>
<p>I looked further into my file system with my heart hammering, checked the main page (it was still working) and tried my blog again in a desperate attempt to deny what was happening to me.  No dice &#8211; apparently circumstances don&#8217;t change if you deny them long enough and wish for it all to be ok.  Drilled further down and was met with a very empty contents folder.</p>
<p><em>Now imagine this for a second</em>: <strong>your blog is down</strong>, you&#8217;ve exhausted all the &#8216;Oh, its just the server&#8217; excuses you could.  You have even visited your host&#8217;s website to see if they were also having problems.  You&#8217;ve checked further into it, and suddenly, everything you&#8217;ve been working on since the very start of your online blog life has simply disappeared.  </p>
<p><strong>&#8220;Sickening&#8221; doesn&#8217;t even begin to describe the feeling.</strong></p>
<p>Some anonymous piece of [well, you get the idea] has come in while you weren&#8217;t looking and brutally murdered your brainchild.</p>
<p>Still not quite giving up hope, imagine you looked at the code in the index.php file (I&#8217;m not very code-y by the way, I just know that it&#8217;s the main file and for the purposes of this example you do too) and were met with this:</p>
<div id="attachment_18901" class="wp-caption aligncenter" style="width: 310px"><a href="http://website-in-a-weekend.net/wp-content/uploads/2010/05/hacked_blog.png"><img src="http://website-in-a-weekend.net/wp-content/uploads/2010/05/hacked_blog-e1275323812318-300x102.png" alt="Silence is Golden hack" title="hacked_blog" width="300" height="102" class="size-medium wp-image-18901" /></a><p class="wp-caption-text">Silence is Golden hack</p></div>
<p><strong>&#8220;Silence is Golden&#8221;</strong></p>
<p>Wouldn&#8217;t you feel like someone had punched you in the gut?  </p>
<p>I know I did.  Or stabbed, or slapped, or whatever violent unpleasant reaction you want to add here.  Not only did they kill off my poor, innocent little baby blog but they left a calling card stating that it wasn&#8217;t any good in the first place.  </p>
<p>Upset? Yes.  Angry?  Oh you bet.  Confused and Stunned?  I&#8217;m sure it was in there somewhere under the angry.</p>
<h2>And continued in confidence&#8230;</h2>
<p>My first reaction was to pace around my room threatening random inanimate objects.  My next?  To play video games.</p>
<p>Thankfully I&#8217;d at least backed up this month; though it was 20 days ago now.  However, as you just read, that didn&#8217;t occur to me at the time.  </p>
<p>Getting hacked was the last thing I needed to be doing.  This particular disaster happened to come right in the middle of a frenzy of college work.  I had a full day ahead of me filled with 3D project work and editing.  Discovering something like this really shouldn&#8217;t have put my whole day on hold, and it was most definitely something that would have been better happening a week or two later (or not at all for that matter).  What can I say?  It&#8217;s easy to get to me apparently, and I shamelessly wasted a few hours on some random fast-paced game that didn&#8217;t require me to think.  </p>
<p>After, that is, trying to reach a few different people (Dave included) for help and finding that everyone was offline, asleep, or busy.  </p>
<p><strong>Video games seemed like a great idea at that point.</strong>  </p>
<p>Eventually, I calmed down and went out to college for part of the evening to do some work.  Got back home not long after since I can&#8217;t really work on much in college itself at the moment and took another look at it.  Backups were downloading when Dave showed up, and between us we figured out they&#8217;d gained access through a tiny permission I had set to allow people to register with my site.  Aside from not doing that again, all that remained to do was restore the backup and re-post everything since that time.</p>
<h2>To the wrong conclusion</h2>
<p>From here on out it looked like there would be one simple solution, after which I could spend some time re-posting a few different articles and it&#8217;d all return to normal pretty quickly.  The backup was loaded; after five attempts.  Thinking that was it fixed, I double checked my blog &#8211; just to see that it was there before I started restoring everything else.</p>
<p>Nothing.  The backups I&#8217;d done through cPanel that had been labelled as &#8216;Full Site Backups&#8217; were, in fact, nowhere near complete.  I would have needed another, more specific, backup of my database itself.  This wouldn&#8217;t have been a problem if the plug-ins I&#8217;d been using for that had worked however they&#8217;d gone on the fritz a few days ago and I hadn&#8217;t fixed it yet.  Further, I still couldn&#8217;t even get into my dashboard.</p>
<p><strong>In short, I had no backup.</strong>  </p>
<p>By this point you could be forgiven for assuming I lost it completely, ran around destroying things like a crazy person, or at the very least shed a tear (earlier in the day had caused a few after all).  On the contrary&#8230; </p>
<p><strong>&#8230;I felt distinctly apathetic.</strong>  </p>
<p>Sure, I had all my posts in their original form minus formatting.  There was always the option to reinstall WordPress itself and build it again from the ground up.  </p>
<p>What was the point though?  All the comments and discussions we&#8217;d shared before were history, even if I were to post the same things again there wouldn&#8217;t be that level of engagement; it&#8217;s now old news.  I decided to sleep on it, do something unrelated for a while.  </p>
<p><strong>Admit defeat for the night.</strong></p>
<p>[To be continued...</p>
<p>Meantime, have you had the "Silence is golden" attack?  Or something worse?]</p>
<hr />
<p><div class="pbio">
<a href="http://shadesofadream.com/blog"><img class="biopic" src="http://website-in-a-weekend.net/wp-content/plugins/aaa-personal-plugin/images/heather_headshot_150x150.png" align="right" /></a>
Heather writes <a href="http://shadesofadream.com/blog">The 3D Student</a> providing 
video tutorials, reviews, and advice for 3D students.  
She loves working with light and texture for 
animation and modeling, 
writing, drawing, film and playing video games.  
Visit Heather at <a href="http://shadesofadream.com/blog">The 3D Student</a>.
</div>
<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fsilence-golden-heather%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fsilence-golden-heather%2F&amp;source=websiteweekend&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Post from: <a href="http://website-in-a-weekend.net">Website In A Weekend</a><br/><br/><a href="http://website-in-a-weekend.net/website-security/silence-golden-heather/">Silence is Golden?  Not according to Heather</a></p>
<div class="shr-publisher-18882"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fsilence-golden-heather%2F' data-shr_title='Silence+is+Golden%3F++Not+according+to+Heather'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fsilence-golden-heather%2F' data-shr_title='Silence+is+Golden%3F++Not+according+to+Heather'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://website-in-a-weekend.net/website-security/silence-golden-heather/feed/</wfw:commentRss>
		<slash:comments>37</slash:comments>
		</item>
		<item>
		<title>Hacked. I Feel So Violated, Again!</title>
		<link>http://website-in-a-weekend.net/website-security/feel-violated/</link>
		<comments>http://website-in-a-weekend.net/website-security/feel-violated/#comments</comments>
		<pubDate>Wed, 26 May 2010 07:45:00 +0000</pubDate>
		<dc:creator>Dave Doolin</dc:creator>
				<category><![CDATA[Website security]]></category>
		<category><![CDATA[Anne Bender]]></category>
		<category><![CDATA[Backups]]></category>
		<category><![CDATA[How to blog]]></category>

		<guid isPermaLink="false">http://website-in-a-weekend.net/?p=18236</guid>
		<description><![CDATA[(Reading time: 5 &#8211; 8 minutes) Woops. I published this piece wondering what I forgot, and it was my introduction for this article&#8217;s author, Anne Bender. Since it&#8217;s pretty late, and (contrary to popular belief) I do sleep once in a while, I&#8217;m simply going to go with &#8220;Anne is really cool and you should [...]<p>Post from: <a href="http://website-in-a-weekend.net">Website In A Weekend</a><br/><br/><a href="http://website-in-a-weekend.net/website-security/feel-violated/">Hacked. I Feel So Violated, Again!</a></p>
]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p class="estread return-true">(Reading time: 5 &#8211; 8 minutes)</p>
<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Ffeel-violated%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Ffeel-violated%2F&amp;source=websiteweekend&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Woops.  I published this piece wondering what I forgot, and it was my introduction for this article&#8217;s author, Anne Bender.  Since it&#8217;s pretty late, and (contrary to popular belief) I do sleep once in a while, I&#8217;m simply going to go with &#8220;Anne is really cool and you should hang out with her at <a href="http://anneonlife.com/">Anne On Life</a>.&#8221;</p>
<hr />
<h2>Hacked. I Feel So Violated, Again!</h2>
<p><strong>-by Anne Bender</strong></p>
<p>No joke: twice in two weeks I&#8217;ve been hit with malicious code on my site.  The first time I rebuilt, lost stuff, moved on, fixed what I could, breathed a sigh of relief. The second time I almost cried.</p>
<p>I was devastated to say the least. It&#8217;s like an invasion of my home or car or &#8230; ME! Been there, done that. I carry my keys in my hand or pocket, never in my purse. Lesson learned.</p>
<h2>February 19, 1993</h2>
<p>There are few things we remember so clearly. For me, these things would include:</p>
<p>The birth of each of my children. Oh, yes, I remember all three vividly. </p>
<p>Being told it was not my fault I can&#8217;t cook since my mother didn&#8217;t teach me my proper role as a woman. Uh, I can cook, <a href="http://www.imdb.com/title/tt0118303/quotes?qt0408285" target="_blank">hole surrounded by ass</a>! </p>
<p><strong>And the day in February some stranger put a gun to me</strong>, my grandmother and my grandfather.  When I was 8 months pregnant, and my grandmother holding my daughter Megan. Good thing I was poor and all he really got was my sense of security. </p>
<p><strong>Seventeen years later, I still carry my keys in my hand</strong>.</p>
<p>And then there&#8217;s this:<br />
<a href="http://i252.photobucket.com/albums/hh28/asbender20/anneonlife/Picture1.png"><img class="aligncenter size-medium wp-image-6107" title="Wonky WordPress Dashboad" src="http://i252.photobucket.com/albums/hh28/asbender20/anneonlife/Picture1.png" alt="" width="300" height="250" /></a></p>
<p>Now, imagine my surprise to find my dashboard looking like that strange anomaly above. I started thinking <em>&#8220;Oh, crap! not again!&#8221;</em>. </p>
<p>See, this is how it started. The first time was my fault. I did not upgrade WordPress to its latest version. Normally I do, but I had heard rumblings of it not working quite right so I just didn&#8217;t. Mistake number one. Then, I changed themes without reading the instructions thoroughly. (Hmm, sounds like every guy I know.) Mistakes number two and three, trust me here. I didn&#8217;t backup my blog properly. Did you know there is this database file stored on your host server that you should backup? I thought something must exist, but again, I didn&#8217;t read the instructions first. Mistake, mistake, mistake.</p>
<h2>I fixed it&#8230; no?</h2>
<p><strong>Step one</strong> &#8211; update WordPress. Of course, I had to update WordPress from within my site, then over on my host. This fixed my wonky dashboard.</p>
<p><strong>Step two</strong> &#8211; get infected by malicious code which messes up my feed. Huh?</p>
<p>Never, ever, ever delete your feed. Never! Don&#8217;t do it. Don&#8217;t think it. Mistake number, oh I lost count.</p>
<h2>Everything gets rebuilt from the bottom up!</h2>
<p><strong>Operation Fix Blog, take two</strong>.</p>
<p>First, I exported my blog using WordPress&#8217; export feature under tools. I also noted how my site looked, widgets used, plugins I would want to reinstall, etc. Then, I moved all of my files directly from my hosting site. I was going to download them onto my computer, but my FTP program didn&#8217;t want to cooperate. Instead, I created a folder called <em>godhelpme</em> [no joke] and moved everything to there.</p>
<p><strong>Breathe in, breathe out</strong></p>
<p>Second, I reinstalled WordPress through my host. New installation, new user name, new passwords, new everything. And I waited.</p>
<p>After WordPress was up and ready to go I logged into my account and adjusted my settings. Here you want to change your permalinks to match your old style, re-check threaded comments if used, add profile information. At this point I stayed with the default WordPress theme. No major changes until all my information was recovered.</p>
<p><strong>Here is where I ran into my first real problem.</strong></p>
<p>I proceeded to import my previously exported file into my new WordPress install. My advice here would be to do a basic import and not elect to import images and such. This worked better for me, although not without its hiccups. See, not all of my posts came back. </p>
<p><em>In fact, most of my posts did not come back</em>. </p>
<p>My site has posts dating back to November 2008 and through May 2010. During my first restore WordPress imported to June 2009. I hit that import button a minimum of 50 times. In the end I lost about 20 posts and had to recreate them from my feed reader and export file. I have no explanation for this as all of my posts were in that file. It could be my internet connection, my hosting provider, or just a glitch. No one could really explain this. I asked.</p>
<h2>Time to Spruce Things Up a Bit</h2>
<p>After everything was as close to its original state I proceeded to install my preferred theme and reinstall my most used plugins. This took the most time. Never wanting to be like everyone else, I opted to use Headway instead of Thesis. </p>
<p><strong>One thing to note</strong> if you decide to go with Headway is your WordPress files must be in the parent directory. Some of you may like to use a sub-directory such as /blog. This will not work. Something to think about.</p>
<p>Headway installed, <em>check</em>. Plugins installed, <em>check</em>. Spackle, paint, polish, <em>check</em>.</p>
<p>Where are my images? Since my blog was originally in a sub-directory I copied my image files back into a newly formed, same name sub-directory so my old posts could find their pretty little pictures.</p>
<p>Then, I recreated my feed that I deleted [learn from my mistake]. I lost every single subscriber and I only had 36. So sad for various reasons. But it worked. Everything was up and running. No wonky dashboard. No malicious code. Life is good.</p>
<h2>Until it happened again&#8230;</h2>
<p>I was this close to deleting the whole thing. But I didn&#8217;t. This time I restored my site to a time when there was no malicious code. And I created this massively long, strange, phenomenal password. So far so good. Yet, my keys are in my hand now. I don&#8217;t feel as secure as I once did. My site has been violated not once, but twice in about a week&#8217;s time. I&#8217;ve gone through the depths of hell and come out the other side. </p>
<p>I lived to tell the tale: <em>Back up, export, be vigilant</em>. </p>
<p><strong>Save your blog and your sanity.</strong></p>
<hr />
<div class="pbio">
<a href="http://anneonlife.com/"><img class="biopic" src="http://website-in-a-weekend.net/wp-content/plugins/aaa-personal-plugin/images/anne150x150.png" align="right" /></a>
<a href="http://www.twitter.com/anneonline">Anne Bender</a> resides in rural Virginia with her 
husband, 3 kids, 1 dog, and various chickens. She has an 
equal fondness for numbers and words, and 
a love-hate relationship with technology. Anne 
plans to live near the ocean, writing fun
stories and really bad poetry. Visit Anne at
<a href="http://anneonlife.com/">AnneOnLife</a>.
</div>

<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Ffeel-violated%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Ffeel-violated%2F&amp;source=websiteweekend&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Post from: <a href="http://website-in-a-weekend.net">Website In A Weekend</a><br/><br/><a href="http://website-in-a-weekend.net/website-security/feel-violated/">Hacked. I Feel So Violated, Again!</a></p>
<div class="shr-publisher-18236"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Ffeel-violated%2F' data-shr_title='Hacked.+I+Feel+So+Violated%2C+Again%21+'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Ffeel-violated%2F' data-shr_title='Hacked.+I+Feel+So+Violated%2C+Again%21+'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://website-in-a-weekend.net/website-security/feel-violated/feed/</wfw:commentRss>
		<slash:comments>36</slash:comments>
		</item>
		<item>
		<title>Under Attack! Freedom! (Update 2/13/2010)</title>
		<link>http://website-in-a-weekend.net/website-security/attack-freedom-update-2132010/</link>
		<comments>http://website-in-a-weekend.net/website-security/attack-freedom-update-2132010/#comments</comments>
		<pubDate>Sat, 13 Feb 2010 17:09:21 +0000</pubDate>
		<dc:creator>Dave Doolin</dc:creator>
				<category><![CDATA[Website security]]></category>
		<category><![CDATA[Under attack]]></category>

		<guid isPermaLink="false">http://website-in-a-weekend.net/?p=13866</guid>
		<description><![CDATA[(Reading time: 2 &#8211; 2 minutes) Hola mijos! Quick letter from the front lines, where Website In A Weekend is under attack by a botnet performing a distributed denial of service (DDOS) mission. So far, the botnet scored some early victories, but we&#8217;re struggling along and gaining ground: Website In A Weekend is on a [...]<p>Post from: <a href="http://website-in-a-weekend.net">Website In A Weekend</a><br/><br/><a href="http://website-in-a-weekend.net/website-security/attack-freedom-update-2132010/">Under Attack! Freedom! (Update 2/13/2010)</a></p>
]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p class="estread return-true">(Reading time: 2 &#8211; 2 minutes)</p>
<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fattack-freedom-update-2132010%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fattack-freedom-update-2132010%2F&amp;source=websiteweekend&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Hola mijos!</p>
<p>Quick letter from the front lines, where Website In A Weekend is under attack by a botnet performing a distributed denial of service (DDOS) mission.</p>
<p>So far, the botnet scored some early victories, but we&#8217;re struggling along and gaining ground:</p>
<ul>
<li>Website In A Weekend is on a shared server.  This means I don&#8217;t pay very much.  It also means that other people with other websites are on this server.  Bluehost has been very good so far, and they have told me that none of my sites are a problem.</li>
<li>Every site on the web is subject to DDOS.  Piss off the wrong person, they will take you down.  Ask Cliff Stoll about this.</li>
<li>I&#8217;d be delighted to move to a dedicated server.  You can help.  Send me $100 US per month, done deal!</li>
<li>Guest post authors: I&#8217;ll be emailing you shortly. This condition isn&#8217;t permanent, but I don&#8217;t want to run any &#8220;real&#8221; articles until <em>victory is achieved</em>.</li>
<li>I plan on writing one of these &#8220;Under Attacks!&#8221; daily until the DDOS is resolved.</li>
<li>In related news, &#8220;Dr. WordPress&#8221; is retiring.  Dave will be writing from here out.  I&#8217;ll have a lot more to say about this in very near future.</li>
</ul>
<p>Shared hosting is an incredible value, on average.  It continually amazes me how much power I get for $100/yr.  If you aren&#8217;t amazed, go ahead and set up your server, just to see how many moving parts you have to synchronize.  </p>
<p>Website In A Weekend will move to dedicated server in the future, now is not quite the right time.</p>
<p>In the meantime, since I can&#8217;t write to my usual standard, I&#8217;m going to issue Under Attack! updates more or less daily.  Don&#8217;t worry about commenting, it&#8217;s disabled&#8230;</p>
<p>Did I mention?  My Akismet connection went bad.  The spam is pouring in!  </p>
<p>Enough for now.  Surf is definitely up, and I&#8217;m off with <a href="http://walteryu.com/">Walter Yu</a> to catch some waves.
<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fattack-freedom-update-2132010%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fattack-freedom-update-2132010%2F&amp;source=websiteweekend&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Post from: <a href="http://website-in-a-weekend.net">Website In A Weekend</a><br/><br/><a href="http://website-in-a-weekend.net/website-security/attack-freedom-update-2132010/">Under Attack! Freedom! (Update 2/13/2010)</a></p>
<div class="shr-publisher-13866"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fattack-freedom-update-2132010%2F' data-shr_title='Under+Attack%21+Freedom%21+%28Update+2%2F13%2F2010%29'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fattack-freedom-update-2132010%2F' data-shr_title='Under+Attack%21+Freedom%21+%28Update+2%2F13%2F2010%29'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://website-in-a-weekend.net/website-security/attack-freedom-update-2132010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Advanced WordPress Security Tips</title>
		<link>http://website-in-a-weekend.net/website-security/advanced-wordpress-security-tips/</link>
		<comments>http://website-in-a-weekend.net/website-security/advanced-wordpress-security-tips/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 17:04:17 +0000</pubDate>
		<dc:creator>Dave Doolin</dc:creator>
				<category><![CDATA[Website security]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Themes]]></category>

		<guid isPermaLink="false">http://website-in-a-weekend.net/?p=2853</guid>
		<description><![CDATA[(Reading time: 6 &#8211; 9 minutes) Once you&#8217;ve been blogging a while, and your website has grown, your responsibilities start to grow. When you&#8217;re starting out, getting hacked isn&#8217;t that big of a deal: you don&#8217;t have much to lose. Once you have months or years worth of content, getting hacked turns into a Big [...]<p>Post from: <a href="http://website-in-a-weekend.net">Website In A Weekend</a><br/><br/><a href="http://website-in-a-weekend.net/website-security/advanced-wordpress-security-tips/">Advanced WordPress Security Tips</a></p>
]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p class="estread return-true">(Reading time: 6 &#8211; 9 minutes)</p>
<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fadvanced-wordpress-security-tips%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fadvanced-wordpress-security-tips%2F&amp;source=websiteweekend&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Once you&#8217;ve been blogging a while, and your website has grown, your responsibilities start to grow. When you&#8217;re starting out, getting hacked isn&#8217;t that big of a deal: you don&#8217;t have much to lose.  Once you have months or years worth of content, getting hacked turns into a Big Deal.   Preventing malicious hackers from destroying your website requires understanding a bit about how WordPress works, and implementing a few more advanced security techniques.</p>
<p>[Updated: 1/15/2010, Bandit Defense screenshot.]</p>
<h3>Understanding WordPress</h3>
<p><div id="attachment_3274" class="wp-caption alignright" style="width: 310px"><a href="http://website-in-a-weekend.net/wp-content/uploads/2009/07/automat2.jpg"><img src="http://website-in-a-weekend.net/wp-content/uploads/2009/07/automat2-300x196.jpg" alt="WordPress is a little bit like an Automat diner" title="Automat Diner" width="300" height="196" class="size-medium wp-image-3274" /></a><p class="wp-caption-text">WordPress is a little bit like an Automat diner</p></div>WordPress is not an especially complicated system to understand, provided you understand just a little bit about the underlying technology.  </p>
<p>WordPress is a collection of PHP scripts emitting HTML web pages that are stored in a MySQL database.  This sounds more complicated than it really is.  You can think of the WordPress system as a sort of &#8220;automat&#8221; of information, allowing your readers to pick and choose articles according to taste and interest.     The &#8220;food&#8221; is your posts and pages in the MySQL database (kitchen),  and PHP corresponds to the &#8220;doors&#8221; and serving apparatus.   </p>
<p>Diners don&#8217;t have much need to know how the automat works&#8230; but the automat owner needs to know a little bit about all the pieces fit together: how to grease the hinges, fix the locks, etc.  And of course, the larger the automat, the more menu items, the more service required.</p>
<p>Similarly, as your WordPress-based website grows in breadth and depth, you should learn a little more about how it all works.  Every capability you add to WordPress is a small increase in your security overhead.  </p>
<p>Fortunately, WordPress is not a difficult system to understand, and all the source code is free and open, anyone can learn it and use it.</p>
<p>Learning to recognize fishy PHP code is not difficult, nor is watching out for database exploits.  Fortunately, there are also plugins to help you with many of these more advanced security tasks.  </p>
<h3>Setting up a security system</h3>
<p>First, if you haven&#8217;t installed your basic security apparatus, you should do that right now.  Here&#8217;s &#8220;<a href="http://website-in-a-weekend.net/website-security/more-wordpress-simple-security-5-plugins-to-help-you-lock-out-unwanted-visitors/">More WordPress Simple Security: 5 Plugins to help you lock out unwanted visitors</a>.&#8221;  </p>
<p>Second, put security on your <a href="http://website-in-a-weekend.net/website-maintenance/maintain-your-wordpress-website-using-9-point-daily-checklist/">checklist of regular WordPress maintenance tasks</a>.  </p>
<p>Third, do all the little things that may or may not help, but certainly don&#8217;t hurt.  For example, here&#8217;s some great tips from <a href="http://www.lostinsearch.com/2009/01/18/10-wordpress-security-tips/">Lost In Search</a>:</p>
<ol>
<li>Remove WordPress version information.</li>
<li>Lock down plugin directory listings using dummy <code>index.html</code> files or the .htaccess Apache directive <code>Options -Indexes</code>.</li>
<li>Add security keys to wp-config.</li>
<li>Turn off remote publishing if you aren&#8217;t using it.</li>
</ol>
<p>You should read the article for yourself and implement these and the other suggestions.  </p>
<p>Next, read this rest of this article&#8230;</p>
<h3>Vetting themes and plugins</h3>
<p>Themes and plugins are great places to hide malicious code!  </p>
<p>Here&#8217;s the easiest way to minimize risk of malicious code in WordPress themes and plugins:  <em>delete every theme and plugin you are not actively using on your blog</em>.</p>
<p>Other actions you can take to increase WordPress security: </p>
<ol>
<li>Test all new themes and plugins in a sandbox installation first, before deploying to a production server.  This can be a dummy blog on your hosting account, or a localhost installation.  Watch for bogus network traffic.  On Windows, I like to use the <a href="http://www.fiddler2.com/fiddler2/">Fiddler HTTP debugging program</a>, which shows me all the network traffic  to and from my computer.</li>
<li>Use plugins and themes from reputable developers.  Being hosted at WordPress.org is not enough.  Read the comments and reviews on each plugin and theme before activating.  For more information read &#8220;<a href="http://website-in-a-weekend.net/getting-started/wordpress-plugins-how-to-evaluate-which-plugins-you-need-and-which-plugins-to-avoid/">WordPress Plugins — How to choose plugins you need, and plugins to avoid</a>.&#8221;  Many of these considerations for choosing plugins also apply to choosing themes (watch for an upcoming article).</li>
<li>Read the source code for each theme and plugin you choose to install.  Really.  If you have technical inclination at all, it&#8217;s not that difficult.  You don&#8217;t need to understand every line, but with a surprisingly modest amount of work, as explained below, you can easily sniff out fishy code for more thorough investigation.</li>
</ol>
<p>When you develop enough traffic to outsource more of the maintenance work, ensure that whoever you hire has the skills to audit your theme and plugin source.</p>
<h3>Digging really deep!</h3>
<p>For advanced readers with a little time to dig, investigate these techniques.  </p>
<h4>How to spot malicious code in WordPress</h4>
<p>As noted above, malicious code can be inserted into both WordPress themes and functions.  </p>
<p>Here&#8217;s a great article on <a href="http://www.tburns.com/2009/tracking-down-malicious-code-on-a-linux-box/">tracking down malicious code in WordPress on a Linux box</a>.  Most of this can be done on a Windows PC as well, provided you have <a href="http://tinobox.com/wordpress/coding/developing-wordpress-plugins-on-windows-using-wamp-cygwin-and-aptana-studio/">Cygwin</a> installed.</p>
<p><strong>The upshot: look for base64 encoding in any theme or plugin you download!</strong></p>
<h4>Scan your WordPress directories with Google</h4>
<p>Here&#8217;s a little tip from Bandit Defense:  Scan your WordPress installation directly, using Google.  The proof is in the pudding as they say, and if Google can see it, Bad Guys can see it too.</p>
<p>Here&#8217;s an example, do a Google search with your URL instead of website-in-a-weekend.net using the following pattern: </p>
<pre>
site:website-in-a-weekend.net  intitle:"index of" inurl:"wp-content/plugins"
</pre>
<p>I left my URL in as an example because I know you&#8217;re going to look at my installation anyway!</p>
<p>Bandit Defense has a Part 2 article which is worth reading as well.</p>
<p>[Update: 1/15/2010: Bandit Defense is down!  Hat tip Average Joe.]</p>
<div id="attachment_11828" class="wp-caption aligncenter" style="width: 480px"><a href="http://website-in-a-weekend.net/website-security/advanced-wordpress-security-tips/attachment/bandit_defense_down/" rel="attachment wp-att-11828"><img src="http://website-in-a-weekend.net/wp-content/uploads/2009/07/bandit_defense_down-470x270.png" alt="Bandit Defense is down" title="bandit_defense_down" width="470" height="270" class="size-large wp-image-11828" /></a><p class="wp-caption-text">Ah... er... Let's focus on the message, the messenger is AWOL.</p></div>
<h4>Subscribe to WordPress related blogs</h4>
<p>Many websites and blogs are dedicated to WordPress, here&#8217;s a couple:</p>
<ol>
<li><a href="http://wordpress.org/development/">The official WordPress.org blog</a> reports on security issues as they arise.  This blog is worth following to get general WordPress updates as well.</li>
<li>The &#8220;security evangelists&#8221; at Blog Security are paying attention to WordPress security issues, so you should pay attention to them.</li>
</ol>
<p>I went looking for dedicated WordPress security blogs on Google, didn&#8217;t find any&#8230; perhaps that&#8217;s an opportunity for a motivated reader!</p>
<h3>Summary</h3>
<p>Security is more properly viewed as a process, not a problem.  Good security is a set of habits that let you build experience, which in turn increases your intuition when &#8220;something&#8217;s not right here.&#8221;   Remember, the Bad Guys get a large charge out of compromising your web site.  It&#8217;s what they live for!  Good security is an arms race&#8230; you have to play whether you want to or not.</p>
<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fadvanced-wordpress-security-tips%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fadvanced-wordpress-security-tips%2F&amp;source=websiteweekend&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Post from: <a href="http://website-in-a-weekend.net">Website In A Weekend</a><br/><br/><a href="http://website-in-a-weekend.net/website-security/advanced-wordpress-security-tips/">Advanced WordPress Security Tips</a></p>
<div class="shr-publisher-2853"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fadvanced-wordpress-security-tips%2F' data-shr_title='Advanced+WordPress+Security+Tips'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fadvanced-wordpress-security-tips%2F' data-shr_title='Advanced+WordPress+Security+Tips'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://website-in-a-weekend.net/website-security/advanced-wordpress-security-tips/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Setting Up For Multiple Users On The Same WordPress Blog</title>
		<link>http://website-in-a-weekend.net/website-security/setting-multiple-users-wordpress-blog/</link>
		<comments>http://website-in-a-weekend.net/website-security/setting-multiple-users-wordpress-blog/#comments</comments>
		<pubDate>Sat, 18 Jul 2009 03:56:22 +0000</pubDate>
		<dc:creator>Dave Doolin</dc:creator>
				<category><![CDATA[Website security]]></category>
		<category><![CDATA[Admin user]]></category>

		<guid isPermaLink="false">http://website-in-a-weekend.net/?p=2933</guid>
		<description><![CDATA[(Reading time: 2 &#8211; 4 minutes) WordPress has 5 built in Roles controlling how various aspects of the blog can be managed. The WordPress Codex has an excellent discussion of Roles and Capabilities, and you should read this very carefully. Now, reading all this information is time consuming and confusing, and doesn&#8217;t really make much [...]<p>Post from: <a href="http://website-in-a-weekend.net">Website In A Weekend</a><br/><br/><a href="http://website-in-a-weekend.net/website-security/setting-multiple-users-wordpress-blog/">Setting Up For Multiple Users On The Same WordPress Blog</a></p>
]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p class="estread return-true">(Reading time: 2 &#8211; 4 minutes)</p>
<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fsetting-multiple-users-wordpress-blog%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fsetting-multiple-users-wordpress-blog%2F&amp;source=websiteweekend&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>WordPress has 5 built in Roles controlling how various aspects of the blog can be managed.   The WordPress Codex has an <a href="http://codex.wordpress.org/Roles_and_Capabilities">excellent discussion of Roles and Capabilities</a>, and you should read this very carefully.</p>
<p>Now, reading all this information is time consuming and confusing, and doesn&#8217;t really make much sense until you put it into practice.  Knowing all the information means nothing without knowing how to use it.  And personally I find it easier to learn by doing, so let&#8217;s do some learning.</p>
<p>First, make sure the Registration box is checked.  Go to Settings >> General, your page will look something like mine in the following screenshot:<br />
<div id="attachment_3089" class="wp-caption alignright" style="width: 310px"><a href="http://website-in-a-weekend.net/wp-content/uploads/2009/07/wordpress_allow_registration.png"><img src="http://website-in-a-weekend.net/wp-content/uploads/2009/07/wordpress_allow_registration-300x208.png" alt="Check the box in Settings &gt;&gt; General to allow user registration" title="Allow registration for WordPress" width="300" height="208" class="size-medium wp-image-3089" /></a><p class="wp-caption-text">Check the box in Settings >> General to allow user registration</p></div></p>
<p>Now log out of your WordPress blog, and go to the login page.  There will be a &#8220;Register&#8221; text link to the lower left of the login panel, click it.  Register 4 users using your name and each role.  For example, I registered &#8220;subscriberdave&#8221; &#8220;contributordave&#8221; &#8220;authordave&#8221; and &#8220;editordave.&#8221;</p>
<p>Next, log back into your WordPress blog as administrator.  For each of these new user names, assign the appropriate role.  Since my default role for new users is &#8220;Subscriber,&#8221; that&#8217;s already dealt with.  Proceeding, &#8220;contributordave&#8221; is assigned a &#8220;Contributor&#8221; role, etc.   </p>
<p>Now you have a collection of users with different roles.  Ready to test it all out?  Sure you are&#8230;</p>
<p>Testing is easy, if you use at least two browsers.  I regularly use three browsers (Chrome, Firefox and Safari) myself, and with Internet Explorer, I could use 4.  Add Opera for a 5th browser.  None of these browsers need any fancy features, you just want to be able to log into your blog as each different user&#8230; all at the same time!</p>
<p>Once you&#8217;re logged in, under each user name, do the following and you will see very clearly which roles get which capabilities:  </p>
<ul>
<li>Write a blog post.</li>
<li>Delete a blog post.</li>
<li>Install a plugin.</li>
<li>Upload an image or file.</li>
<li>Reader&#8217;s choice&#8230; hit the admin menu links and play around!</li>
</ul>
<p>Once you have spent a leisurely hour or so playing around with roles, go back and reread the documentation on the WordPress Codex <a href="http://codex.wordpress.org/Roles_and_Capabilities">Roles and Capabilities</a>.  It will all make much more sense the second time around.</p>
<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fsetting-multiple-users-wordpress-blog%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fsetting-multiple-users-wordpress-blog%2F&amp;source=websiteweekend&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Post from: <a href="http://website-in-a-weekend.net">Website In A Weekend</a><br/><br/><a href="http://website-in-a-weekend.net/website-security/setting-multiple-users-wordpress-blog/">Setting Up For Multiple Users On The Same WordPress Blog</a></p>
<div class="shr-publisher-2933"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fsetting-multiple-users-wordpress-blog%2F' data-shr_title='Setting+Up+For+Multiple+Users+On+The+Same+WordPress+Blog'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fsetting-multiple-users-wordpress-blog%2F' data-shr_title='Setting+Up+For+Multiple+Users+On+The+Same+WordPress+Blog'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://website-in-a-weekend.net/website-security/setting-multiple-users-wordpress-blog/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>More WordPress Simple Security: 5 Plugins to help you lock out unwanted visitors</title>
		<link>http://website-in-a-weekend.net/website-security/more-wordpress-simple-security-5-plugins-to-help-you-lock-out-unwanted-visitors/</link>
		<comments>http://website-in-a-weekend.net/website-security/more-wordpress-simple-security-5-plugins-to-help-you-lock-out-unwanted-visitors/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 17:12:59 +0000</pubDate>
		<dc:creator>Dave Doolin</dc:creator>
				<category><![CDATA[Website security]]></category>
		<category><![CDATA[Content protection]]></category>
		<category><![CDATA[File permissions]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://website-in-a-weekend.net/?p=363</guid>
		<description><![CDATA[(Reading time: 7 &#8211; 12 minutes) Do a quick search on &#8220;WordPress Security Plugins&#8221; you are going to get a boatload of results, most of which aren&#8217;t going to tell you too much more than what you can read in the plugin&#8217;s documentation. Seriously, check this out: 57 security wordpress plugins. WTF? Seriously, go check [...]<p>Post from: <a href="http://website-in-a-weekend.net">Website In A Weekend</a><br/><br/><a href="http://website-in-a-weekend.net/website-security/more-wordpress-simple-security-5-plugins-to-help-you-lock-out-unwanted-visitors/">More WordPress Simple Security: 5 Plugins to help you lock out unwanted visitors</a></p>
]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p class="estread return-true">(Reading time: 7 &#8211; 12 minutes)</p>
<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fmore-wordpress-simple-security-5-plugins-to-help-you-lock-out-unwanted-visitors%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fmore-wordpress-simple-security-5-plugins-to-help-you-lock-out-unwanted-visitors%2F&amp;source=websiteweekend&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Do a quick search on &#8220;WordPress Security Plugins&#8221; you are going to get a boatload of results, most of which aren&#8217;t going to tell you too much more than what you can read in the plugin&#8217;s documentation.  Seriously, check this out: <a href="http://skyje.com/2009/05/wordpress-security-plugins/" target="_blank">57 security wordpress plugins</a>.  WTF?  Seriously, go check that out.  If it serves your needs, cool.  If not, come back and we&#8217;ll dig into what, where, how, why and all that other happy horsepuckey you really need to learn at some point.</p>
<p>Some are complicated.  Some make you jump through hoops as well.  What we&#8217;re really looking for is plugins that are simple to use and understand, yet powerful enough to catch our blunders and any script kiddies who come knocking.  </p>
<div class="websiteweekendecourse" style="background-color:#eeeeee; 
font-style: slant; border-width: 1px; border-style: solid; 
padding: 8px 8px 8px 8px; margin: 8px 15px 8px 15px; font-size: 85%; ">

Hey! You're in the middle of the <strong>Website In A Weekend eCourse</strong>.  
Learn how to create and operate a complete WordPress-based website in a single weekend.  
Start here: <a href="http://website-in-a-weekend.net/friday">Website 
In A Weekend: Friday Evening - Off to the Races</a>.  (If you already have a blog... 
"audit" the eCourse... you'll find plenty to do.)
</div>
    
<p>By the way, if you don&#8217;t already know, anyone that wants into your blog bad enough, will probably find a way in.  We can&#8217;t do anything about people like that.  But they&#8217;re few and far between unless you&#8217;re in the easy/fast money businesses of sex/drugs/gambling.  You know, easy money stuff the state wants to tax.  But you&#8217;re not&#8230; so no worries. </p>
<p>I&#8217;m going to take a slightly different stance here and expose myself&#8230; ah&#8230; I mean, I&#8217;m going to list and discuss <em>only</em> the plugins I find useful here on Website In A Weekend&#8230; which means if any of these plugins have a security flaw, Website In A Weekend goes up in smoke!  Anything for my readers!</p>
<p>Let&#8217;s get started.</p>
<h3>WP Security Scan</h3>
<p>Michael Torbert&#8217;s WP Security Scan is absolutely the first security plugin you should install.  Go install it right now in fact.  I&#8217;ll wait.</p>
<p>Here&#8217;s how WP Security Scan helps protect your blog: </p>
<ol>
<li>Helps prevent SQL injection attacks by warning about default WordPress database table prefix.  Even if you don&#8217;t fix your database table prefix on your current blog, you will be sure to specify a custom prefix on your next WordPress installation.</li>
<li>Flags incorrect and dangerous file system permissions.  Once you fix your permissions correctly, the plugin lists the corrected as well.</li>
<li>Provides a way to evaluate your password strength, and suggests very strong passwords if your imagination for random letters, numbers and punctuation runs dry.</li>
<li>Checks for appropriate .htaccess files where you need them.  This is big deal, which is little discussed.</li>
</ol>
<p>Every item in the list above is very simple.  There is no reason NOT to get WP Security Scan installed immediately</p>
<h3>BlueTrait Event Viewer</h3>
<p>The BlueTrait Event Viewer (BTEV) implements custom login and email functions to keep track of what&#8217;s happening at a lower level on your WordPress blog.  BTEV is slightly more complex than the other plugins discussed here, so you may want install it after you master the others first.</p>
<p>BTEV is really useful when you need to find out the following:</p>
<ol>
<li>Who registered, from where, and when.  If you&#8217;re getting a lot of bogus registrations, this will help.</li>
<li>Who is currently logged in, useful for checking for malicious users.</li>
<li>If you write plugins, there is an advanced feature that logs PHP events.  This is fantastic, so much easier than dealing with server logs.</li>
</ol>
<p>BETV works by monitoring all of the following WordPress actions: password_reset, delete_user, wp_login, lostpassword_post, profile_update, add_attachment, wp_logout, user_register, switch_theme, and activation/deactivation of other plugins.</p>
<p>Saving the best for last: BETV provides an RSS feed&#8230; subscribe to your event feed, and you&#8217;ll be on top of breaking security issues immediately.  <strong>RSS feeds are critically important when you&#8217;re operating more than one WordPress installation.</strong></p>
<h3>Login LockDown</h3>
<p><div id="attachment_2494" class="wp-caption alignright" style="width: 208px"><a href="http://website-in-a-weekend.net/wp-content/uploads/2009/07/login_lockdown.png"><img src="http://website-in-a-weekend.net/wp-content/uploads/2009/07/login_lockdown-198x300.png" alt="Login LockDown rains contempt on spammers" title="login_lockdown" width="198" height="300" class="size-medium wp-image-2494" /></a><p class="wp-caption-text">Login LockDown rains contempt on spammers</p></div>Have you ever tried to log into a website where you had forgotten perhaps your username, or your password, or both?</p>
<p>Then been <em>locked out</em> for &#8220;Too many retries.&#8221;</p>
<p>That&#8217;s the kind of pain and suffering you want to visit on spammers, and other jerks who rob your bandwidth with stupid linkbaiting schemes offering&#8230; well&#8230; I won&#8217;t dignify what they purport to offer by putting it into words.  Let&#8217;s just say, when you&#8217;re clickthrough rates are less than 1/100,000&#8230; you have to resort to massive spam.</p>
<p>The WordPress <a href="http://www.bad-neighborhood.com/login-lockdown.html">Login LockDown plugin</a> from <strong>Bad Neighborhood SEO</strong> helps rain contempt on spammers and scammers by preventing them from using brute force attacks to compromise your login security.  Actually, they can still brute force attack you, but they get three tries (you set this number) before you send them off for an hour to cool their jets.</p>
<p>Install Login Lockdown to escalate your security quickly and easily.  It&#8217;s super simple to set up and operate.  Just using the default parameters should be enough for most people.</p>
<h2 id="si-captcha">SI Captcha</h2>
<p><div id="attachment_2502" class="wp-caption alignleft" style="width: 213px"><a href="http://website-in-a-weekend.net/wp-content/uploads/2009/07/st_captcha.png"><img src="http://website-in-a-weekend.net/wp-content/uploads/2009/07/st_captcha-203x300.png" alt="SI Captcha even looks good!" title="st_captcha" width="203" height="300" class="size-medium wp-image-2502" /></a><p class="wp-caption-text">SI Captcha even looks good!</p></div> Those little boxes where you type in numbers or letters which are twisted or distorted are called &#8220;captcha&#8221; boxes.  The letters and numbers used to be very easy to read&#8230; it turns out that image analysis algorithms can figure out plain old text really fast.  Naturally, spammers and scammers are always up on the latest techniques.</p>
<p>But captcha is a proven technology.  Users don&#8217;t mind it too much, provided the letters and numbers are easy enough to read.</p>
<p>And SI Captcha really nails it.  Check out the screen shot.  This captcha box even looks good!</p>
<p>Installation is simple.  Operation is simple: choose whether you want captcha shown on comments, or on registration, or both.  That&#8217;s about it.  This captcha plugin plays well with <a href="http://website-in-a-weekend.net/aweber-super-simple">AWeber Super Simple</a> too, so you can ask people to sign up for your AWeber newsletter at the same time they register.</p>
<p>[Updated 1/17/2009] links: </p>
<ul>
<li><a href="http://www.642weather.com/weather/scripts-wordpress-captcha.php">SI CAPTCHA Anti-Spam &#8211; WordPress Plugin</a> by Mike Challis.</li>
<li><a href="http://wordpress.org/extend/plugins/si-captcha-for-wordpress/">SI CAPTCHA Anti-Spam</a> on WordPress.org</li>
</ul>
<h3>Redirection and Drain Hole</h3>
<p>Redirection and Drain Hole are incredibly useful plugins, and very powerful as well.  This review is going to focus on just a couple of the capabilities of each.</p>
<p>Drain Hole allows you to set up your download archive outside your web directory.  This means that you can provide files, movies, images, whatever you want, from a location that&#8217;s not directly accessible to your web server&#8230; which means it&#8217;s not directly accessible by casual web surfers.   Once you set up a &#8220;drain hole,&#8221; you provide a link people must use to access the files, and you can monitor the traffic.  Using Drain Hole is an excellent &#8220;next step&#8221; in securing your content.  Read more about setting up your first Drain Hole for securing downloadable content.</p>
<p>Redirection is so powerful, it would require a 5000 word article to fully explain how to use all the capabilities.  The compelling security reason you need Redirection is for monitoring your HTTP 404 Error logs.   The HTTP 404 Error means the web server could not find the page asked for by the browser, so it returns error code 404, and possibly an explanatory web page to help the reader.  Here&#8217;s a screenshot showing some of the features of Redirection: </p>
<div id="attachment_2511" class="wp-caption aligncenter" style="width: 310px"><a href="http://website-in-a-weekend.net/wp-content/uploads/2009/07/redirection_404.png"><img src="http://website-in-a-weekend.net/wp-content/uploads/2009/07/redirection_404-300x117.png" alt="Redirection has powerful HTTP 404 Error monitoring" title="redirection_404" width="300" height="117" class="size-medium wp-image-2511" /></a><p class="wp-caption-text">Redirection has powerful HTTP 404 Error monitoring</p></div>
<p>The default installation of Redirection provides specific 404-related features that benefit you:</p>
<ol>
<li>You can easily ban spammers because each 404 error is logged with page/url requested, domain name and IP address.</li>
<li>Redirection&#8217;s RSS feed for the 404 module allows to monitor several different blogs from the convenience of a single RSS reader, which saves you massive amounts of time.
</li>
<li>You&#8217;re alerted to bad plugins because ou can see, by name, which plugins have security compromises.  For example, Website In A Weekend periodically gets a string of requests for the &#8220;Wordspew&#8221; plugin.  Doing a search for the Wordspew plugin led to information warning about security risks.</li>
</ol>
<p>Redirection has more powerful features, many of which will be discussed in future articles.  Make sure to subscribe so you won&#8217;t miss any information.</p>
<table class="wiaw-link-navigation"><tr><th>Previous lesson</th><th>Next Lesson</th></tr><tr><td><a href="http://website-in-a-weekend.net/website-security/wordpress-simple-security-replace-the-admin-account/"/>WordPress Simple Security — Replace the “admin” account</a> </td><td><a href="http://website-in-a-weekend.net/getting-started/adding-faviconico-to-wordpress-for-professional-appearance/"/>How to Add favicon.ico to WordPress For Professional Appearance</a> </td></tr></table>
<h3>A message from our &#8220;Sponsor&#8221;</h3>
<p>Long time Website In A Weekend readers know I rarely miss a chance to flog my current musical obsession or marketing book-du-jour&#8230; so you&#8217;re not done yet!  </p>
<p>Check this out: for about a $1.35 (what it cost me), you can get a good condition, used copy of Benjamin Suarez&#8217;s <a href="http://www.amazon.com/Steps-Freedom-II-Escape-American/dp/1884889018/tinb-20">7 Steps to Freedom II: How to Escape the American Rat Race</a></p>
<p>This book is worth far, far more more than $1.35.  </p>
<p>Put Suarez&#8217;s advice to work, it will save you time and make you money.  But the key is work&#8230;</p>
<p>What he does is lay out the entire business operation for producing and distributing consumer products marketing by direct mail.  He lays out every single procedure.  All 70 procedures.  It&#8217;s work.</p>
<p>But here&#8217;s the cool thing: you don&#8217;t have to be a direct mail marketer to benefit from this book!  The principles of product selection, consumer testing, advertising, all of it translates right straight to the internet.   If you wondered where all these internet &#8220;Big Boys&#8221; learned their chops, big hunks of it are right out of this book.  <a href="http://www.amazon.com/Steps-Freedom-II-Escape-American/dp/1884889018/tinb-20">Get your &#8220;7 Steps to Freedom&#8221; now!</a>  (For $1.35.)</p>
<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fmore-wordpress-simple-security-5-plugins-to-help-you-lock-out-unwanted-visitors%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fmore-wordpress-simple-security-5-plugins-to-help-you-lock-out-unwanted-visitors%2F&amp;source=websiteweekend&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Post from: <a href="http://website-in-a-weekend.net">Website In A Weekend</a><br/><br/><a href="http://website-in-a-weekend.net/website-security/more-wordpress-simple-security-5-plugins-to-help-you-lock-out-unwanted-visitors/">More WordPress Simple Security: 5 Plugins to help you lock out unwanted visitors</a></p>
<div class="shr-publisher-363"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fmore-wordpress-simple-security-5-plugins-to-help-you-lock-out-unwanted-visitors%2F' data-shr_title='More+WordPress+Simple+Security%3A+5+Plugins+to+help+you+lock+out+unwanted+visitors'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fmore-wordpress-simple-security-5-plugins-to-help-you-lock-out-unwanted-visitors%2F' data-shr_title='More+WordPress+Simple+Security%3A+5+Plugins+to+help+you+lock+out+unwanted+visitors'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://website-in-a-weekend.net/website-security/more-wordpress-simple-security-5-plugins-to-help-you-lock-out-unwanted-visitors/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>How To Make It Easy To Catch People Stealing Your Articles</title>
		<link>http://website-in-a-weekend.net/website-security/how-to-make-it-easy-to-catch-people-stealing-your-articles/</link>
		<comments>http://website-in-a-weekend.net/website-security/how-to-make-it-easy-to-catch-people-stealing-your-articles/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 14:47:54 +0000</pubDate>
		<dc:creator>Dave Doolin</dc:creator>
				<category><![CDATA[Website security]]></category>
		<category><![CDATA[Content protection]]></category>
		<category><![CDATA[Digg]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[Social Media]]></category>

		<guid isPermaLink="false">http://website-in-a-weekend.net/?p=1114</guid>
		<description><![CDATA[(Reading time: 3 &#8211; 4 minutes) I&#8217;m dealing with trying to shut down a site that ripped an article off of mine. It&#8217;s tremendously discouraging when you find your own work listed #1 on Google search, linked back to someone else&#8217;s site where it&#8217;s posted with no credit to you&#8230; and your original article doesn&#8217;t even [...]<p>Post from: <a href="http://website-in-a-weekend.net">Website In A Weekend</a><br/><br/><a href="http://website-in-a-weekend.net/website-security/how-to-make-it-easy-to-catch-people-stealing-your-articles/">How To Make It Easy To Catch People Stealing Your Articles</a></p>
]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p class="estread return-true">(Reading time: 3 &#8211; 4 minutes)</p>
<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fhow-to-make-it-easy-to-catch-people-stealing-your-articles%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fhow-to-make-it-easy-to-catch-people-stealing-your-articles%2F&amp;source=websiteweekend&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://website-in-a-weekend.net/wp-content/uploads/2009/05/warningsign2.jpg"><img src="http://website-in-a-weekend.net/wp-content/uploads/2009/05/warningsign2-248x300.jpg" alt="warningsign2" title="warningsign2" width="248" height="300" class="alignright size-medium wp-image-1118" /></a>I&#8217;m dealing with trying to shut down a site that ripped an article off of mine.  It&#8217;s tremendously discouraging when you find your own work listed #1 on Google search, linked back to someone else&#8217;s site where it&#8217;s posted with no credit to you&#8230; and your original article doesn&#8217;t even make the top 10 pages in Google search results.  I found out because I backlinked to another of my articles which was already posted.  The trackback showed up in my comment moderation queue.  </p>
<h3>Stop ripoffs before they start</h3>
<p>Here&#8217;s some techniques you can implement right now that will help mitigate ripoffs:</p>
<ol>
<li>Treat all articles as &#8220;chapters&#8221; in an ongoing story, and link back to at least one other article which is already posted.  This way you will be able to track ping backs if your article gets ripped off and posted on another blog.  Here&#8217;s an example from an <a href="http://tinobox.com/wordpress/productivity/surfing-the-digital-tsunami-part-iii-going-deep-with-rss/"    target="_blank">article on RSS at There Is NO Box</a>.  I have several of these RSS articles chained together.</li>
<li>
Put in some personal information which will be natural for you, but totally and completely out of place when read out-of-context, say on a spam blog.  I do this on one of my other website on a regular basis.  For example, check out this article: <a href="http://tinobox.com/wordpress/c-programming/link-fatal-error-lnk1181-cannot-open-input-file-cprogramobj/" target="_blank">linking errors in Microsoft Visual Studio (There Is NO Box)</a>.
</li>
<li>After you have written an article, go back to a previous article and link the old article to the new.  You can see that in the RSS examples from the previous point.  For another example, I&#8217;ll link my existing article on teasers to this article as a reason for why learning to write good teasers is important.</li>
<li>Move to <a href="http://website-in-a-weekend.net/creating-content/writing-effective-teasers-inspiring-people-to-read-more/">teaser text for RSS feeds</a>.</li>
<li>Use the <a href="http://wordpress.org/extend/plugins/rss-footer/" target="_blank">RSS Footer plugin</a>, which leaves a link back to your web site if your RSS feed gets automatically scraped.</li>
<li>Consider requiring registration for anyone to even read good content. Registration could be free.  Website In A Weekend will be moving to a membership site in the near future.</li>
<li>If you can, post daily.  If you post daily, Google will scrape daily.   Website In A Weekend&#8217;s more-or-less weekly schedule of high quality content simply opens the door for spam bloggers to steal from your RSS feed&#8230; and get YOUR article ranked on THEIR site much faster.</li>
<li>Post the article on digg and other social media sites.  If it&#8217;s posted there immediately, and someone else resubmits, they have to cross the &#8220;originality hurdle.&#8221;
</li>
<li>Add a liberal sprinkling of affiliate links.  If you don&#8217;t catch the spam blogger, you have a chance of at least deriving some affiliate commission from the article.  This will work as long as the links aren&#8217;t stripped.  If the links are all stripped, you probably aren&#8217;t going to find the article quickly anyway.</li>
</ol>
<p>Being ripped off, if left unchecked, takes food out of my mouth.  I would have to stop writing completely.  </p>
<h3>More resources</h3>
<p>All of the above suggestions I developed independently, although I am sure some (or many) of them are not original.  You can find out more about dealing with content theft by searching on Google.  </p>
<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fhow-to-make-it-easy-to-catch-people-stealing-your-articles%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fhow-to-make-it-easy-to-catch-people-stealing-your-articles%2F&amp;source=websiteweekend&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Post from: <a href="http://website-in-a-weekend.net">Website In A Weekend</a><br/><br/><a href="http://website-in-a-weekend.net/website-security/how-to-make-it-easy-to-catch-people-stealing-your-articles/">How To Make It Easy To Catch People Stealing Your Articles</a></p>
<div class="shr-publisher-1114"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fhow-to-make-it-easy-to-catch-people-stealing-your-articles%2F' data-shr_title='How+To+Make+It+Easy+To+Catch+People+Stealing+Your+Articles'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fhow-to-make-it-easy-to-catch-people-stealing-your-articles%2F' data-shr_title='How+To+Make+It+Easy+To+Catch+People+Stealing+Your+Articles'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://website-in-a-weekend.net/website-security/how-to-make-it-easy-to-catch-people-stealing-your-articles/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>WordPress Simple Security &#8212; Replace the &#8220;admin&#8221; account</title>
		<link>http://website-in-a-weekend.net/website-security/wordpress-simple-security-replace-the-admin-account/</link>
		<comments>http://website-in-a-weekend.net/website-security/wordpress-simple-security-replace-the-admin-account/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 20:47:46 +0000</pubDate>
		<dc:creator>Dave Doolin</dc:creator>
				<category><![CDATA[Website security]]></category>
		<category><![CDATA[Admin user]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://website-in-a-weekend.net/?p=269</guid>
		<description><![CDATA[(Reading time: 2 &#8211; 2 minutes)   It&#8217;s easy. Here&#8217;s how&#8230; WP comes with a default user account named &#8220;admin&#8221; which has full administrator privileges. Remove the &#8220;admin&#8221; account to help prevent malicious hackers from ruining your website. NOTE: AS USUAL BACK UP EVERYTHING BEFORE PROCEEDING! (Only takes a couple of minutes!) Here&#8217;s how. Login [...]<p>Post from: <a href="http://website-in-a-weekend.net">Website In A Weekend</a><br/><br/><a href="http://website-in-a-weekend.net/website-security/wordpress-simple-security-replace-the-admin-account/">WordPress Simple Security &#8212; Replace the &#8220;admin&#8221; account</a></p>
]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p class="estread return-true">(Reading time: 2 &#8211; 2 minutes)</p>
<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fwordpress-simple-security-replace-the-admin-account%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fwordpress-simple-security-replace-the-admin-account%2F&amp;source=websiteweekend&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p> </p>
<p>It&#8217;s easy.  Here&#8217;s how&#8230;</p>
<p>WP comes with a default user account named &#8220;admin&#8221; which has full administrator privileges.</p>
<p>Remove the &#8220;admin&#8221; account to help prevent malicious hackers from ruining your website.</p>
<p>NOTE: AS USUAL BACK UP EVERYTHING BEFORE PROCEEDING! (Only takes a couple of minutes!)</p>
<div class="websiteweekendecourse" style="background-color:#eeeeee; 
font-style: slant; border-width: 1px; border-style: solid; 
padding: 8px 8px 8px 8px; margin: 8px 15px 8px 15px; font-size: 85%; ">

Hey! You're in the middle of the <strong>Website In A Weekend eCourse</strong>.  
Learn how to create and operate a complete WordPress-based website in a single weekend.  
Start here: <a href="http://website-in-a-weekend.net/friday">Website 
In A Weekend: Friday Evening - Off to the Races</a>.  (If you already have a blog... 
"audit" the eCourse... you'll find plenty to do.)
</div>
    
<p>Here&#8217;s how.</p>
<ol>
<li>Login as &#8220;Admin&#8221; user.</li>
<li>Pull down the &#8220;Users&#8221; menu in administration page.</li>
<li>Click on &#8220;Add New&#8221;</li>
<li>Add a new user, set your permissions to &#8220;Administrator&#8221;</li>
<li>Save the changes, and log out.</li>
<li>Log back in as the new user.</li>
<li>Go to &#8220;Users &gt; Authors &amp; Users&#8221;</li>
<li>Select &#8220;Admin&#8221; user.</li>
<li>Use the pulldown menu for Bulk Actions to select &#8220;Delete.&#8221;</li>
<li>Click on &#8220;Apply&#8221;</li>
<li>You will be taken to a page that allows you to either delete all of that users posts, comments, etc, or assign them to another user.  In this case, you want to assign all your existing posts from the &#8220;Admin&#8221; user to your new user, which you can do by selecting that choice, then selecting the appropriate user.</li>
<li>Press &#8220;Confirm Deletion&#8221; and you&#8217;re done.</li>
</ol>
<p>Now, automated hacker scripts have to figure out a user name before they can even get started on cracking your password!</p>
<p>This procedure takes only a few minutes, and you should do it as your first security action after installing WordPress.</p>
<fieldset style="margin-left: 3em; margin-right: 3em; background-color: white;">
<legend>The Upshot&#8230;</legend>
<p>                    <strong>Fast easy security, takes 5 minutes</strong></p>
<p>The default &#8220;admin&#8221; user name created by WordPress on installation is the first point of attack by malicious hackers intent on hijacking your blog and ruining your search engine standings.  Changing the administrator name takes about 5 minutes and is the first line of defense.</p>
<p><strong>Take action now: replace the admin user with a different administrator name.</strong></p>
</fieldset>
<table class="wiaw-link-navigation"><tr><th>Previous lesson</th><th>Next Lesson</th></tr><tr><td><a href="http://website-in-a-weekend.net/getting-started/your-top-4-plugins-for-wordpress-critical-infrastructure-for-your-wordpress-blog/"/>Your Top 4 Plugins for WordPress — Critical infrastructure for your WordPress blog</a> </td><td><a href="http://website-in-a-weekend.net/website-security/more-wordpress-simple-security-5-plugins-to-help-you-lock-out-unwanted-visitors/"/>More WordPress Simple Security: 5 Plugins to help you lock out unwanted visitors</a> </td></tr></table>
<hr />
<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fwordpress-simple-security-replace-the-admin-account%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fwordpress-simple-security-replace-the-admin-account%2F&amp;source=websiteweekend&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Post from: <a href="http://website-in-a-weekend.net">Website In A Weekend</a><br/><br/><a href="http://website-in-a-weekend.net/website-security/wordpress-simple-security-replace-the-admin-account/">WordPress Simple Security &#8212; Replace the &#8220;admin&#8221; account</a></p>
<div class="shr-publisher-269"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fwordpress-simple-security-replace-the-admin-account%2F' data-shr_title='WordPress+Simple+Security+---+Replace+the+%22admin%22+account'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwebsite-in-a-weekend.net%2Fwebsite-security%2Fwordpress-simple-security-replace-the-admin-account%2F' data-shr_title='WordPress+Simple+Security+---+Replace+the+%22admin%22+account'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://website-in-a-weekend.net/website-security/wordpress-simple-security-replace-the-admin-account/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

