/ / Criando uma licença por site (Algoritmo) - xml, serviços da web, algoritmo, httpwebrequest, chave de licença

Criando uma licença por site (algoritmo) - xml, serviços da web, algoritmo, httpwebrequest, chave de licença

Gostaria de fornecer como serviço, feeds XML para proprietários de sites. O próprio arquivo XML será fornecido por meio de um serviço da web (.asmx)

O problema é que o cliente pode distribuir o link do feed XML gratuitamente.

Então pensei em criar uma "licença por site".O proprietário do site-cliente irá reconhecer os sites que solicitarão os feeds XML. Desta forma, os feeds XML serão fornecidos para solicitações http específicas.

P.S. Eu sei que você pode mudar os cabeçalhos e assim por diante ... Mas eu gostaria de implementar uma solução "para desacelerar as coisas" e me sentir melhor!

Você poderia fornecer um algoritmo de licença melhor? Como posso evitar que os feeds XML sejam distribuídos gratuitamente?

Respostas:

4 para resposta № 1

Depende inteiramente de quais são suas regras de negóciosditar; quanto mais segurança você deseja, maior é a carga de autenticação de sites individuais. Quanto mais fácil você desejar para os sites dos clientes, menos complexo será o seu algoritmo.

Mas, basicamente, guarde o conteúdo com um token específico do assento (ou seja, senha).

Para cada cliente permitido, você gera um token.Você precisa de licenças para passar esse token como parte da solicitação. Quando você receber esse token, valide-o (na medida que considerar apropriada) - talvez você apenas verifique se é um token válido, talvez verifique o originador do IP, talvez o token faça parte de uma fase de criptografia de desafio-resposta.

Rastreie logins de assento e procure abusos (solicitações provenientes de diferentes endereços IP, solicitações provenientes de altas taxas, etc.).

No nível de um serviço de inicialização, você provavelmente não precisará de muita sofisticação, a menos que esteja lidando com informações confidenciais ou até obter sucesso.


2 para resposta № 2

Você pode usar uma solução baseada em certificados(Infraestrutura PKI): você cria seus próprios certificados que envia aos seus clientes (cada cliente recebe o seu) e verifica-os usando uma lógica do lado do servidor semelhante à descrita aqui: ASP.NET WebForms: Implementando autenticação PKI. Não é um exemplo ASMX, mas a lógica do módulo Http é a mesma.

A vantagem é que o usuário não precisará inserir nenhuma senha, pois seu navegador deverá poder apresentar o certificado se solicitado pelo site.

Claro, os usuários ainda podem copiar e enviarcertificados para outros usuários, então você ainda precisará de algum mecanismo de monitoramento, baseado no endereço IP, por exemplo (mesmo que não seja 100% totalmente à prova, é melhor do que nada). Depois de detectar que um certificado parece morto (usado por muitas pessoas), você pode marcá-lo como inválido em seu servidor, por exemplo, e enviar um novo para o usuário legítimo.


0 para resposta № 3

Eu tenho um sistema de licença perto disso, eu querofornecer acesso ao serviço para arquivos XSL específicos e páginas da web específicas, uma vez que processa o xsl com base no http tagouped do url. Para fazer isso, peguei o url de referência e comparei com o url permitido, juntamente com o arquivo xsl solicitado

Outro sistema em que trabalhei deu um passo adiantealém disso, e tinha o id do stream (era para streaming de vídeo) o id do usuário e a hora do dia conforme a chave enviada e, se correspondessem, o stream era permitido (com uma janela de 1 minuto) para iniciar.

Mas todos esses métodos funcionam para saber a ordem dos parâmetros na chave e uma chave oculta enviada em uma ou ambas as direções e md5 hashing da string resultante para a chave visível / transmitida.