Bravo121 Posted November 4, 2016 at 04:13 PM Report #600137 Posted November 4, 2016 at 04:13 PM 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 😕 ... 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?
M6 Posted November 4, 2016 at 04:56 PM Report #600140 Posted November 4, 2016 at 04:56 PM 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."
Bravo121 Posted November 4, 2016 at 06:06 PM Author Report #600143 Posted November 4, 2016 at 06:06 PM 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?
M6 Posted November 4, 2016 at 06:28 PM Report #600145 Posted November 4, 2016 at 06:28 PM 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."
Alexandre Paulo Posted November 6, 2016 at 12:23 AM Report #600175 Posted November 6, 2016 at 12:23 AM (edited) 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 November 6, 2016 at 12:32 AM by Alexandre Paulo
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now