Category Archives: CMS


It seems this blog got hacked recently. A couple of posts had the following code inserted into them:

/* < ![CDATA[ */
var quicktagsL10n = {
	quickLinks: "(Quick Links)",
	wordLookup: "Enter a word to look up:",
	dictionaryLookup: "Dictionary lookup",
	lookup: "lookup",
	closeAllOpenTags: "Close all open tags",
	closeTags: "close<div style="display: none"><a href='' title='buy cheap lasix'>buy cheap lasix</a> tags",
	enterURL: "Enter the URL",
	enterImageURL: "Enter the URL of the image",
	enterImageDescription: "Enter a description of the image",
	fullscreen: "fullscreen",
	toggleFullscreen: "Toggle fullscreen mode"
/* ]]> */
...(post text)...
	edCanvas = document.getElementById('content');

This was on WordPress 3.2.1. I’ve now updated to 3.5; hopefully this won’t recur, but it’s something to watch out for if you’re running blogs using older versions.

Blogger introduces country domains, breaks some addons

Blogger has split itself into separate country domains, such as for US, for UK, for AU.

But what’s really puzzling is that these apply to the user, not the blog. The blog may be visible on a multitude of different blogspot country domains, dependent on where the user is located.

This has broken a number of addon tools, such as commenting and social networking.

More details at Girl Does Geek

Google’s information on this

How to override it (though it only lists a few of the country domains; you’d need to find as many as possible to add in to make it work for everybody)

— It rather appears that Google/Blogger didn’t think too carefully about this.

Microsoft’s open-source CMS

Interesting — Microsoft has launched its WebMatrix open-source web development bundle, as well as the first version of its open-source “Orchard” content management system.

Wonder if these means MS has WordPress, Joomla and Drupal as its targets? Perhaps it’s realised that having some kind of open-source CMS is vital to winning the hearts and minds of web programmers, and weaning them off PHP and MySQL back to ASP.Net and SQL Server.

(via Mary-Jo Foley)

Keeping old content

Unlike many organisations, the BBC has a very enlightened policy on leaving old content up on their web site.

Among other things, it says:

Our view is that these pages often contain a lot of information about the programme or event which may be of interest in the future. We don’t want to delete pages which users may have bookmarked or linked to in other ways.

In general our policy is only to remove pages where the information provided has become so outdated that it may lead to actual harm or damage.

If only more web sites took this view.

Working on the server

Upgrading to WordPress 3, that kind of thing. Hold off new comments and posts until done. I’m also moving servers.

If you can see this, it’s done!

Here’s the process I’m following for moving these various sites:

Take an export of the database.

Run the SQL: update wp_posts set comment_status = ‘closed’ so nobody comes in and writes a comment subsequently lost.

Import into the new site and upload the new WP installation and the old theme and images etc onto the new site.

(I’ve found my new web ISP’s DDOS protection gets antsy if I use the default Filezilla setting of two simeltaneous connections.)

Hack the hosts file to look at it while getting it perfected.

Run /wp-admin/upgrade.php and let it upgrade the database

Go into the Admin screens, to the Permalink settings and save the default so the .htaccess file is updated

Apart from then switching the registrar so the domain looks at the new IP address, that’s about it.

Will also re-load the old .htaccess settings like the deny list for the big-hitting bandwidth thieves.

And I’m installing the W3 Total Cache plugin to optimise the site a bit. (I used to have WP set to deliver gzip-compressed pages; sometime before version 2.9, that option’s been removed.)

Update: Finally, WP3 seems to have fixed the weird bug that caused some comments and posts to be rejected dependent on particular words being present.

Don’t panic

This is not a Towel Day post. Rather, it’s just to say I’m upgrading WordPress tonight to 2.9.2, so things may be a little weird.

Update 10:07pm. Done. The big question is: have they fixed this bug?

If they have, I’ll be able to say Lynx with a space after it (in a post or a comment) and not have it give me back an error.

No. It still does it. (I’ve used a &nbsp; above.)

Hello to Sam Hamilton and James Dee

So I was looking at the comments awaiting moderation. Two showed up on this post: Why Facebook sucks, a rollicking read about over-bearing security dialogues just to use Facebook’s video application.

Here’s the first comment — I’ve zapped the email address, but one was left:

Sam Hamilton
Submitted on 2009/05/29 at 9:37am

If you are tired of facebook but want a way to connect with artists and musicians
then you should check out
If you are tired of facebook but still want to connect with your friends then pick up the phone…

Fair enough.

Here’s the second:

James Dee
Submitted on 2009/06/03 at 3:16pm

I’m an artist and I haven’t been satisfied using facebook or myspace to promote myself… too slow and too much junk. I’ll give putiton a try… it looks clean

The problem here is that the first comment is still awaiting moderation. (Yes, it’s several days old. I don’t check as often as I should.)

So why would “James” decide to try putiton, a social networking site which basically nobody has heard of (well at least I haven’t) if nobody else has suggested it (eg the first comment isn’t visible to anyone)?

Curiously, “Sam” and even “James” have left similar messages on other, similar posts on other blogs.

(Sam has a profile on the offending site.)

Slowing down WordPress spam

I noticed a lot of my WordPress spam is coming from a handful of IP address ranges. I’ve checked, and in the five-ish years I’ve been using WordPress, no valid comments seem to be coming from there. (Just tap the relevant IP address into the WP comment admin search box.)

Time for a little .htaccess magic, I think.

order allow,deny
deny from 194.8.75.
deny from 194.8.74.
deny from 87.118.112.
deny from 194.8.75.
deny from 194.8.74.
deny from 87.118.112.
deny from 61.18.170.
deny from 196.12.36.
deny from 219.64.175.
deny from 69.59.137.
deny from 80.88.242.
allow from all

By the way, in cPanel File Manager, to see .htaccess you have to switch on the option to view hidden files on the options page when you go in.

Anyway, the result is less spam, though there appears to be a rash of new attacks from a wide variety of IP addresses, with a shirtload of embedded links to

Has my WordPress blog been hacked?

At some stage, some weird text seems to have inserted itself into a bunch of my links on my personal blog… a Get parameter referencing phpMyAdmin and a long hexadecimal string, which appears to be the same every time.

So for instance the link:
<a href=”/1995/12/22/the-bill/”>

<a href=”/1995/12/22/the-bill/?phpMyAdmin=3bceb1b20913e8babce341325e13bf76″>

And this one:
<a href=””>

<a href=”<a href=?phpMyAdmin=3bceb1b20913e8babce341325e13bf76″”>

A Google search suggests that this specific parameter appears to be unique to my blog.

It mainly appears to have hit internal relative links, but has hit some external ones too. But it hasn’t affected all the links, by any means. Maybe a few dozen posts. And for the most part they are like the first example, above, and don’t actually break the links.

At first I thought it was a hack back at some time when I might have had a vulnerable version of WordPress on my blog. Though I’ve been unable to find any other examples of it (not that it’s the easiest thing to search for), and now I’m wondering if it was some mistake during a migration of the database.


Something I don’t like about WordPress

I love WordPress.

But not 100%.

Something I don’t like is how it decides arbitrarily when to decide to re-authenticate you.

I had logged in here to write a post, and it happily let me type it all out, until I hit the Publish button, when it decided to double-check who I was. Which was fine, but by the time it had done that, it revealed that the draft of the post that had been saved was from several minutes before I’d hit Publish, and I’d lost a couple of links I’d put in which now I’ll have to find again.


Twitter widgets

I used Twitter Tools for a while with WordPress, and it worked well until recently, when it stopped.

While pondering what went wrong, I noticed Twitter now has an official set of widgets for web pages.

Twitter / Get a Widget for your site

They’ve got customised ones for MySpace, Blogger, Facebook, Typepad, and a generic one (in HTML or Flash) for everything else.

The Triple J question

Trust Josh to ask a curly question for the StackOverflow podcast: “Why did the Stack Overflow schedule blow out?” and quoting back Jeff and Joel's own previous forecasts at them.

Made for an interesting discussion though. I certainly agree with the point that until you're actually working on something, you d

on't have a great deal of confidence in just how much there is to do … that becomes apparent as you go.


(So I can find it later: WordPress URL parameters, for example for showing all posts by Josh.)