I don't think that disableUserInput is reasonable in this case, since this disables all user input, including the ability to leave the server or exit the game. The only recourse is to kill the ArmA process! Since a player can't reasonably know what addons are allowed before joining a public server, this is extremely punitive and would, I think, get your server a bad name. The only situation I could imagine that might be reasonable would be if you definitely knew the player was cheating/griefing, rather than just someone stumbling into your server in ignorance.
Signing all the addons yourself means that pubbies will never be able to join without somehow getting hold of your signatures. Even if getting the signatures could be made simple, they aren't going to know that they need specifically your signatures to begin with. In some ways, this is no less cumbersome than having the server password locked and would stop most, if not all, pubbie traffic. Signing addons yourself is definitely useful in some cases when not all the addons you are using are signed, but only on restricted servers (e.g. for the IC-ArmA tournament).
The choice you have, IMHO, is to:
1. have a private server (passworded), allow all addons and trust your players not to use dangerous ones.
2. have a private server (passworded), only allow a set of signed addons, however restrictive that may be, then you don't have to trust your players.
3. have a public server, only allow a set of signed addons, however restrictive that may be, then you don't have to trust your players.
4. have a public server, catch bad addons in a script, allowing the players to cheat, grief, workaround your script, use up a server slot to deny you access (griefing), crash the server with bad addons you haven't heard of yet, etc.
5. have a public server, allowing the players to cheat, grief, crash the server with bad addons , etc.
1, 2 and 3 are the only options that seem sensible to me. 1 is only sensible if you really do trust every one of your players.