Introduction
I have an application with a build-in registration form. The registration form simply does a POST
to my webserver and it will create the account for the user. Let's say the register page (on the server) is found at https://mywebsite/register.php
, what stops the user from manually going there and register the account himself (when sending POST
arguments to it, there is obviously no HTML form fields or anything there).
The user can simply put a proxy between my application and the webserver, get the requests and modify them. This might not sound like an issue to most of you, but for some functions (the webserver does more than handling registration requests) I need to know that the request came from the application and not from the user.
My question
How do I know the request came from the application and is unmodified? Personally, I have thought about encrypting the data (additionally to https
) by some formula (like those hardware authenticators do) and decrypt them on the webserver.
I'd like to hear your thoughts on this and possibly your solution to this.