Olá,
Tenho uma idéia para criar um serviço de banco de dados sobre HTTP.
A idéia é criar um serviço simples para qualquer um utilizar direto no
site utilizando javascript ou flash.
Seria um serviço REST assim:
wdb.com/<database>/<table>
Mas o problema esta em encontrar uma maneira segura de fazer isso.
Por exemplo, eu quero que o cliente do site
meusite.com, consiga fazer
um cadastro apenas enviando um post com os campos para:
wdb.com/
meusite/cadastros
Mas eu não quero que qualquer pessoa possa fazer um post para o mesmo
endereço e gerar um novo cadastro.
Uma solução que quero evitar seria utilizar uma linguagem server como
proxy:
meusite(client side) =POST> meusite(server side adiciona a chave do
cliente) =POST> wdbcom
Mas quero que a solução não precisa utilizar server side, pelo menos
não como proxy apenas para adicionar a chave única.
Uma ideia que tive é a seguinte:
Cliente acessa site
meusite.com
meusite.com pelo server side, cria uma chave unica para este visitante
e envia esta chave para
wdb.com
meusite.com pelo client side, utiliza estão esta chave dentro do
formulário, para submeter o post direto para
wdb.com
wdb.com recebe o post e só aceita se a chave for válida.
Esta solução teria a mesma falha de qualquer cookie, ou seja, se
copiar de um para outro, funcionaria.
Claro que adicionado a tudo isso, ainda teria verificação da versão do
navegador se é a mesma, verificação do Refer, IP, etc, mas são medidas
apenas para dificultar, nenhuma irá resolver o problema.
A chave também será gerada liberando a utilização por n vezes, para
determinados bancos/tabelas/metodos PUT, POST, DELETE e ainda com data
de expiração.
Alguma sugestão?