Jump to content
Bravo121

MVC - Validação de plugins

Recommended Posts

Bravo121

Boas, tenho uma pequena plataforma MVC que permite instalar mais Modulos através de um ZIP.

O que a plataforma faz, por agora, basicamente é pegar no que esta no ZIP e fazer upload para o servidor. Depois no FrontOffice é feito o load de todos os Módulos...

Existe alguma maneira de validar o ZIP para verificar compatibilidade de versões entre o Modulo e a Plataforma?

Pensei em ter um ficheiro dentro do ZIP, por exemplo config.ini, com as informações mas esse ficheiro pode sempre ser editado :confused: ... Alguém tem ideias?

PS: O Wordpress também tem Plugins, alguém sabe se ele faz alguma validação no momento da instalação ou loading?

Share this post


Link to post
Share on other sites
M6

O que descrever é basicamente o mecanismo de controlo que, por exemplo, os CMS (Joomla! e afins) fazem.

Podes ter um sistema idêntico onde o plugin é sempre um zip que contém sempre um ficheiro com um nome e estrutura predefinidos.
É normal que o ficheiro contenha informação como nome, descrição, versão, versão mínima da plataforma a que se destina, script SQL a executar durante a instalação, indicação dos ficheiros a instalar (com os paths de origem e destino).


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Share this post


Link to post
Share on other sites
Bravo121

Certo! Foi isso que pensei em fazer. 

Mas há alguma forma de evitar que alguém abra esse ficheiro e edite, por exemplo, a versão mínima?

Share this post


Link to post
Share on other sites
M6

Não.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Share this post


Link to post
Share on other sites
Alexandre Paulo
Em 04/11/2016 às 18:06, flavioreis13 disse:

Mas há alguma forma de evitar que alguém abra esse ficheiro e edite, por exemplo, a versão mínima?

Mas porque te preocupa isso?
Se queres garantir que o plugin só funciona em determinadas versões do CMS, poderás colocar código no próprio plugin que verifica a versão do CMS. Se não for permitida, o plugin "morre" com mensagem informativa.

Ou seja, mesmo que alguém "martele" a linha do .ini que indica a versão do CMS, para conseguir instalar, o plugin faz uma segunda verificação.

Claro que ai, esse alguém, poderá alterar o código do plugin e "martelar" essa validação. O que também poderia ser prevenido com o uso de checksums... mas já começamos a entrar num nível de paranóia... ;)
 

 

Edited by Alexandre Paulo

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.