It seems that nearly every website that has a form for logging into it includes an option for having the website “remember” the user. Some users find it convenient to be “remembered” by sites, as when they are remembered, they will not need to enter their usernames and passwords as often. However, there are disadvantages to being remembered by sites. Some users are not the only ones who use their computers, and would thus want to ensure that a feature that could allow other users of their computers access to their accounts would not be selected. In addition, cross-site request forgery (CSRF) attacks depend on users being logged into sites, as several Twitter users discovered recently. Therefore, use of a “remember me” feature could increase the probability of users being victims of CSRF attacks.
Despite these facts, some websites have the option to be remembered by them selected by default. However, some users may want to try to make it less likely that others will access their accounts by ensuring that the option to be remembered would never be selected. And some might consider it a nuisance to need to deselect the option to be remembered by a site each time they want to log into a site. For these reasons, I decided to write a Greasemonkey script that would remove the checkmarks from checkboxes for indicating that the user wants to be remembered by websites.
This Greasemonkey script that I titled “Do Not Remember Me” is one that looks for checkboxes on web pages and determines whether or not they are for remembering users by checking nearby page material. By default, it is set to work with all websites. However, some users may want to be remembered by some websites. For that reason, this script is one that users of it may want to configure so that it will not be used by some websites.
This script, like other Greasemonkey scripts that are made to work with all websites, might possibly not actually work with all websites. Some users might find errors in it that will cause it to not work with some websites. However, I have found that it does work with the websites that made me want to write this script. Some who often log into Userscripts.org, the website where this and many other Greasemonkey scripts can be found, may want to use this script. As you can see if you view the login page on Userscripts.org, the option to be remembered by that site is selected at first. I myself did not want to keep removing the checkmark from the option to be remembered by that website. It also works with the login page on Google Accounts, which also remembers its users by default. I have also found that it works with Hotmail’s login page. I also set it up so that it would actually add checkmarks to checkboxes that say “public terminal” beside them, as one can see by viewing Slashdot with the script enabled. In addition to ensuring that it works with as many sites as possible, I have tried making it as efficient as possible. It might not currently be as efficient as it could and should be. However, I chose to release it as it is so that I could allow others to critique it.
I could make this post less boring by mentioning some more interesting facts about it. I originally decided to call this script “Don’t Remember Me.” However, it might then be referred to as “DRM.” Many consider that the acronym for Digital Rights Management. I wanted to avoid this acronym collision, even though I did not think that this script would ever be listed on Wikipedia’s disambiguation page for DRM. Some who would look through the code may not be entertained when viewing it. However, I thought of mentioning that the purpose of one function in the script was to “check checkboxes to check if they should be unchecked” and eventually decided to choose clarity over comedy in my comments.
If you have Greasemonkey installed, then you can install this script if you click here. As always, I would be pleased to answer any questions about this script. I could go into greater detail about the implementation of what I wrote, although I do not tend to be asked questions about the implementation details of what I write. I will say that I have also considered writing a very similar script titled “Do Not Remember My Passwords.” As you may have surmised, it would deselect checkboxes for indicating that passwords are to be remembered. I considered combining these two scripts into one titled “Do Not Remember Me and Do Not Remember My Passwords Either” although I thought it might be best to keep these scripts separate. However, what I do next with this script and any related ones may depend on any suggestions that I may receive.