Hello!
Post is quite secure, but not very secure.
Better is using tokens for every form and link_hashes for every link.
I can't give you any code (because if I could I would have done it...), but the method is like:
Every upload, field, ... is a form. All forms have to "pass" a Control inside websitebaker. I doesn't matter if such form is in frontend, backend, module or core.
Every form get's an individual token, e.g. "add_form_key('guestbook_bigtext');".Then the token gets validated via check_form_key('guestbook_bigtext');
So every post is controlled quite good.
Next one - link hashes. First every log-in in backend / frontend get's a link_hash, like "_http://www._that_your_wb_url/.....&hash=" . generate_link_hash("{$mode}_$match_id"))".
So the link to
http://www.yourwb.xy/admin/index.php will look now like
http://www.yourwb.xy/admin/index.php&hash=423423hchd8329rhqeuwaiweurOk, then we combine every token with it and reading the hash:
$token = request_var('hash', '');
check_link_hash($token, "{$mode}_$match_id")
So - every token from above first checks if the link-hash is correct. If it isn't, no form (guestbook, upload, whatever needs a _POST and more...) could be used.
It's of course a very big thing, and something WB has to handle (a module that does that is _absolutely_ useless), but it could be worth... If that would have been in WB, nobody could use the backup-exploit. Because it first would check the hash - it is quite hard I heard guessing a 20 digits token - about 10^32 : 1.

Yours Michael
Edit: Of course every hash needs to be controlled via cookie / AND destroyed after 30 minutes and that. It doesn't make sense using a hash for a week - people are easily sharing links with tokens (you know that e.g. from SMF here, that uses hashes in links).