Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como permito o acesso ao meu banco de dados MySQL apenas pelo meu aplicativo iOS? (Usando webapp como gateway para db)


Como dito anteriormente, não há 100% de segurança possível. Mas existem várias soluções que juntas dão uma grande segurança.

Https


Como você aponta, esta é uma parte importante, pois evita sniffing.

Sessões


Use sessões e não permita nenhuma solicitação sem uma sessão válida (exceto a primeira, que deve autenticar o aplicativo).

Impressão digital


Verifique o agente do usuário e defina cabeçalhos http extras para obter uma impressão digital exclusiva para seu aplicativo. (Ainda assim alguém poderia cheirar, mas ele precisava usar curl ou similar.)

Solicitações de ofuscação


Crie sua string de consulta e aplique uma função de hash. O servidor precisa implementar a função inversa. ?43adbf764Fz em vez de ?a=1&b=2

Criptografar


Isso vai um passo além. Use um segredo compartilhado para calcular um hash. No servidor repita o mesmo. Isso já é uma segurança forte. Para quebrar, é preciso fazer engenharia reversa do seu aplicativo.

Usar segredo compartilhado exclusivo


Você diz que é um aplicativo para iOS. Após a instalação, um token exclusivo é gerado pelo iOS. Faça com que seu aplicativo registre esse token com seu servidor. Assim, você tem um forte segredo compartilhado exclusivo para cada instalação e não haveria como hackear seu aplicativo da web.