2

Actually, you do have an account system, only a very limited one that supports only a single authenticated account. To prevent non-authenticated access to the admin pages, you should use the same mechanisms as what gets used by a more sophisticated account system for protecting pages that should be accessible only to authenticated users.


2

This has obviously nothing to do with hashes - it has everything to do with queries that might contain a "+" character. For example a search for "Joe's + Jim's Coffee Shop" or often for any base-64 encoded data. So think of a general solution. The code for this should absolutely not be in your "login" method, but you should have a separate method that does ...


1

This is one of those things where I both understand it and I don't at the same time. There is something to be said for not tying yourself to a given library, especially if it looks likely (or even just somewhat possible) that that library will stop being maintained in the future or that there is a reasonable chance you would need to change. It does give ...


1

When passing arguments in an URL, they should be appropriately encoded


1

Read the version from metadata generated at build time One thing you can do is to read the version from your Git tags at build time. Generate the raw text or code file that is required from your release commit after it is tagged. This metadata is a build artifact, and therefore will not be stored in the repo, but is still integrated into your code, so that ...


Only top voted, non community-wiki answers of a minimum length are eligible