I am working on a web application and have had an idea of a new feature I would like to add. The feature includes getting data from the user on their open system and receiving it on my server. For the sake of concept I am assuming my server is 100% secure and is guarded by a million level 80 warlocks and my dachshund dog Kevin. So our side cannot be compromised and is totally secure for this question.
The user goes to say a library and uses the computer there. From that computer they request a a webpage from our server. Then in this webpage they enter some data. This data then gets sent to my server and processed. My concern is how can I verify what the user typed in from the keyboard using their fingers is what really was sent to my server.
Lets say I user HTTPS to serve my content, so theoretically this data cannot be read/modified while in transit. But what if on that public library machine the previous day fricken Todd compromised the computer by putting some malicious code inside of the web browser which secretly and discretely changes the data sent to the server. So our user types in the word 'PNEUMONOULTRAMICROSCOPICSILICOVOLCANOCONIOSIS' and sees this being typed in on the screen. He then presses send, but when he does this the malicious code in the browser modifies the data to change the data to be 'ToddIsAwesome' and shows the user their message has been sent with the data he thinks was sent, but actually the data has been modified and the server gets data from the user, but it is not the data the user wanted to send. Is there techniques to verify this sort of thing? The user does not have to send the data from a website, it can also be installed software on a computer. My main concern is to get the data the user intended to send and to detect if modification has occurred from the moment the user types something in to the moment the server receives the request.