This is a very simple plugin that forces SSL on all pages when a user is logged in (not only on admin ones).
Why would you need it? If you force SSL usage only in the admin area, and use HTTP as your blog URL, then some links and buttons in the admin area revert to HTTP. This flaw is fixed by this plugin. If you want to check out details about session hijacking, you can view the screencast and the following post on my blog -
Wordpress Session Hijacking and Prevention.
[youtube
http://www.youtube.com/watch?v=Zm3vAxJGrl0]
How does it work?
- A user logs in,
- a cookie is set that is sent only through HTTPS,
- all pages are redirected to HTTPS,
- Wordpress checks if this cookie is set,
- if not, the user is logged out.
This effectively prevents session hijacking and man in the middle attacks.
Before installing and configuring the files,
make sure you have configured your server to work with HTTPS and that you have a valid server certificate installed.
Optional step - Install the plugin
SSL Insecure Content Fixer (so that all your style, javascript and other URLs are changed to HTTPS). It is optional, but I highly recommend it!
Now, open your wp-config.php file and add the following in the end (if not already done):
define('FORCE_SSL_LOGIN', true); define('FORCE_SSL_ADMIN', true);
Save the file. Now do the following:
- Upload the plugin directory to to the '/wp-content/plugins/' directory
- Activate the plugin through the 'Plugins' menu in WordPress
And that is it. No options and no configuring is required.