I am now about 1 week away from publishing the much-anticipated 4.7 update to the AskApache Password Protection WordPress plugin. It's an upgrade I've been working on for almost 2 years (off and on)! I have been using the new version for quite some time now, and have made a lot of improvements to it, and finally I decided enough users have suffered with the old version. I am very excited for this release, it fixes all known bugs in the older versions, and brings some heavy-duty improvements to all facets of this plugin.. not to mention way better security modules (Lots more COOKIE use) based on code I use with clients.
I wrote 3 plugins to learn the skills I knew I needed for this plugin to do what I envisioned. The first was a plugin that displayed all WP's builtin RewriteRules. The next 2 plugins helped me to learn a great about PHP and WP, so that now my plugins are PHP 4/5 compatible and use PHP classes. Just like all the other code I am into, I am finally achieving 100% E_STRICT conformance. PHP isn't tough at all once you learn the syntax.
This is my favorite plugin. I started developing it in order to learn what I needed to know to continue developing the AskApache PassPro plugin. It's a super-stable plugin and very fast. Check it out and look at the source code if you want to get a preview of the kind of coding used on the AA PassPro 4.7 code.
I use it on every site I develop. Part of the error handling code in that plugin (HTTP Error Handling) is used in the passpro release to provide advanced HTTP 1.1 capabilities and help with the pre-setup testing. Currently it is not working 100% on this site, but the problem is because I use the development version of WP and the latest version breaks wordpress 404 usage (again scribus!).
This is my newest plugin that was created for the same reason as the AskApache 404 plugin, to figure out some things for the PassPro plugin. Mainly, to figure out the best ways to debug php, file permissions, and learn as much as I can to prevent anyone getting locked out of their site with 4.7.
One of the last bits of code I want to add to my 4.7 code, which I have been using for over a year, is super logging capabilities to debug any problems the 4.7 plugin may encounter. The latest release of the Debug Viewer, version 2.0, really has strong logging capabilities, and debugging capabilities. Of course I try to push those capabilities to the max and beyond. Currently the usability isn't the greatest, but if you are interested in debugging it is a goldmine of simple, fast, powerful debugging functions.
To those thousands who inadvertantly locked themselves out of their sites with the PassPro plugin, or even worse shut-down ther sites temporarily, I bet that even though it was annoying, or worse than annoying, you came out of it knowing more about your server, your hosting environment, and it showed you a glimpse of the problems malware face when attempting to crack into a blog protected correctly.
Although part of me knows that there is no better way to learn how to secure your site than dealing with getting locked out yourself, I went all out with making sure this version won't lock you out. Similar to the wordpress plugin bootstrap installation, this version creates a test and verifies it works in a test directory before going live. The new version has the most advanced Apache Version and Apache Module Detection every published online, well not yet.. And if you don't have apache, lighthttpd, or a similar server that supports htaccess, I'm adding a pure-php auth so you can at least still have password protection.. but you can bet I will stronly advise such a user to upgrade their hosting to a Linux+Apache host with skill.
I've been extremely swamped at work the past 8 months working on a big project, so I only have days here and there to work on it. I know that I am free either Thursday or Fri this week, so I will have a good shot at getting a BETA release out 4.7.0 one of those days or sometime next week. If you have any ideas for the plugin, nows the time to let me know about it.. If you are a php master (I am not) and would like to help over the next 2 weeks, please email me.
November 9th, 2010