Skip to content

24. Exercício da Aplicação – Versão 13

A Versão 13 traz poucas alterações: protege o acesso aos ficheiros da aplicação.

Com a versão 12, pode solicitar o seguinte URL [http://localhost/php7/scripts-web/impots/version-12/config.json]. Obterá então a seguinte página (Firefox):

Image

No entanto, este ficheiro [config.json] contém informações confidenciais, tais como as credenciais dos utilizadores autorizados a utilizar a aplicação. Não deve ser acessível aos utilizadores. O mesmo se aplica a todos os ficheiros da aplicação, exceto aos ficheiros [main.php, index.php, Views/logo.jpg], que devem ser acessíveis a partir do exterior. Isto porque as visualizações necessitam de acesso HTTP ao logótipo da aplicação. A versão 13 oferece uma solução simples para este problema.

No NetBeans, copiamos e colamos a pasta [versão-12] na pasta [versão-13]:

Image

  • em [1], na pasta raiz da aplicação, deixamos apenas os scripts [index.php, main.php];
  • em [2], os ficheiros de configuração são colocados numa pasta [Config];
  • em [3], a imagem [logo.jpg] é colocada numa pasta [Resources];

O servidor HTTP utilizado aqui é um servidor Apache. Isto permite-nos controlar o acesso a uma pasta através de um ficheiro [.htaccess]. Em todas as pastas onde queremos impedir o acesso direto através de URL, criamos o seguinte ficheiro [.htaccess]:

Image

Estas duas linhas impedem que qualquer pessoa aceda à pasta.

Colocamos este ficheiro em todas as pastas da aplicação, exceto na pasta raiz e na pasta [Resources]. Em última análise, apenas três ficheiros são acessíveis a partir do exterior: [index.php, main.php, Resources/logo.jpg].

Vamos realizar alguns testes:

Image

Image

Image

Image

Image

É necessário fazer algumas alterações no código:

No ficheiro [Config/config.json]:

Image

No ficheiro [main.php]:

Image

No ficheiro [Views/v-banner.php]:

Image