Servidor de atualização para extensões comerciais

8

O Joomla fornece a capacidade de adicionar um servidor de atualização, permitindo que os usuários instalem uma atualização de extensão quando lançada com o clique de um botão.

Obviamente, isso é ótimo para extensões gratuitas; no entanto, para extensões comerciais, seria possível encontrar um problema em que alguém poderia simplesmente obter o URL de download do arquivo XML de atualização e publicá-lo, portanto, isso é um impedimento.

O que eu tinha em mente era fazer algo da mesma maneira, mas simplesmente notificaria o usuário de que havia uma atualização e eles teriam que ir ao site do desenvolvedor e fazer o download manualmente, no entanto, não usei nenhuma assinatura extensões, portanto, não há permissões especiais para acessar essas extensões comerciais. Em vez disso, usei um componente que simplesmente permite ao usuário comprar a extensão e é isso.

Portanto, minha pergunta é: existe um método interno que eu desconheço que permita um servidor de atualização para extensões comerciais? Acredito que me lembre disso sendo discutido há muito tempo, mas não tenho certeza se alguma coisa foi implementada no Joomla.

Ou talvez, seria uma idéia impedir o acesso direto ao XML se alguém digitar a URL no navegador usando um arquivo htaccess ?

Nota : estou me referindo a um módulo, caso contrário eu poderia ter pesquisado algo como o Akeeba Live Update

Lodder
fonte
11
Eu entraria em contato com um dos criadores de extensões que já faz isso. O pessoal do Rocket Theme criou seu próprio plug-in que valida o servidor e ainda usa o mecanismo de atualização incorporado. O Akeeba faz isso sem um plug-in extra, mas será atualizado se o seu código for inserido nas configurações do componente. Você também pode perguntar ao pessoal do watchful.li, pois o sistema deles pode acessar todos esses e executar a atualização para você. Alguém pode estar disposto a mostrar como eles fazem isso.
Brian Peat
@BrianPeat - obrigado por sua contribuição. No entanto, encontrei um commit no Github de Nick da Akeeba, que permite exatamente o que eu quero (e talvez seja apenas eu tendo um momento loiro), mas não acho que o "guia do desenvolvedor" seja suficiente. Não menciona onde colocar o código. A pessoa com quem trabalho pedirá mais detalhes sobre o assunto, e espero que isso me leve a algum lugar.
Lodder

Respostas:

5

Minha versão da implementação seria ...

O cliente: - Basta fornecer a cada usuário inscrito uma chave (secreta) exclusiva e simplesmente passar como variável GET ao verificar novas atualizações.

O servidor: - Da mesma forma, verifique as solicitações recebidas para essa variável e faça a correspondência com um banco de dados cool? allow : deny;.

O uso indevido: - Mantenha um registro de cada chave que está sendo usada e defina um número não permitido de solicitações permitidas, além das quais apenas sinalize essa chave e seu usuário como suspeitos, depois faça o que achar que está fazendo, avisando que o usuário está bloqueando. por algum tempo, ou simplesmente rescisão de assinatura ... etc, as possibilidades são infinitas.

Mohd Abdul Mujib
fonte
o que acontece depois que o servidor respondeu como 'permitir'? Em outras palavras, como essa validação funciona junto com o servidor de atualização?
Malaiselvan
allowsignifica que o servidor decidiu enviar o arquivo de atualização como resposta.
Mohd Abdul Mujib
Obrigado @ 9ksoft. Sua solução permitirá que o usuário baixe a extensão atualizada. Eu acredito que ele não pode fazer nenhuma instalação automática usando o servidor de atualização, certo? Ou você tem uma solução para fazer a atualização automática após a validação? Desculpem-me por fazer muitas perguntas .... :-)
Malaiselvan