Como eu só permito acesso ao meu banco de dados MySQL do meu aplicativo iOS? (Usando o webapp como gateway para o db)

Meu aplicativo para iOS precisa se conectar a um servidor mysql. Para conseguir isso, eu gostaria de criar um webapp que atua como intermediário entre os aplicativos do lado do cliente e o banco de dados do lado do servidor.

Minha preocupação é que alguém possa simplesmente descobrir o URL que meu aplicativo usa e transmitir seus próprios parâmetros de URL - e como a webapp não tem ideia se os dados legítimos estão sendo enviados do meu aplicativo iOS versus alguém apenas digitando o URL corretamente criado qualquer navegador da Web, o sistema ficará vulnerável.

Digamos que eu tenha uma função PHP para marcar um usuário como "verificado" (depois de enviar um código de verificação de e-mail). Isso é coisa bastante normal, mas o que impede alguém de fazer o mesmo pedido de um navegador da web?

Naturalmente, o usuário que o aplicativo usa para fazer consultas ao banco de dados terá privilégios limitados, portanto, o restante do banco de dados não estará em risco. No entanto, mesmo tendo usuários ativando suas contas de fora do aplicativo seria catastrófico.

A opção que pensei foi usar https para que, mesmo que o usuário descubra a URL, eles não saibam a senha e não possam detectá-la, pois ela é criptografada do início ao fim. Infelizmente, https pode ser caro para um estudante universitário pobre, então eu gostaria de uma alternativa, se existir.

questionAnswers(1)

yourAnswerToTheQuestion