After login with near wallet URL, a user can make any number of transactions to the blockchain without being asked permission every time (it's not like using metamask). What if the app makes unauthorized transactions without the permission of the user like hacking all money of the user? How does near protocol solve this problem?