Sorry just a little confused. If the geth rpc node needs to be running on the live server (say you deploy your dapp to the world), does that mean everyone has access (via the web) to modify the accounts authorized by that node? How would you allow people to access their own accounts instead of the servers geth authorized accounts?
Generally this is solved by only having the node process externally-signed transactions. If you offload the signing to the end user, they can sign with their own keys (without exposing them to you), and you can broadcast their transactions (or they can broadcast their own, even) without needing any keys at all.
The usual architecture is that the node is run on the end user's machine; so you don't have to run a node of your own unless you need to coordinate an off-chain backend alongside whatever code/state lives on the blockchain (e.g. to listen for events, etc).