Include. Incluir arquivos ASP

Incluir arquivos em uma página consiste em inserir um pedaço de código que temos alojado em um arquivo a parte dentro do código da página ASP que estamos programando. Deste modo, podemos salvar um arquivo código das páginas que utilizamos habitualmente, como poderia ser o cabeçalho de nossas páginas ou a moldura que apresentam todas as páginas do site, e inclusive scripts em ASP que se dediquem a realizar algumas ações muito repetidas, como conexões com bases de dados. Trabalhar realizando includes é muito prático, pois não escrevemos duas vezes o mesmo código e além disso, se tivermos que muda-lo em algum momento somente teríamos que mudar o código desse arquivo a parte e todas as páginas serão modificadas automaticamente.

Incluir arquivos

Utiliza-se com o enunciado de include, que pode ter duas formas:

<!–#include virtual=”/planilha.asp”–>
<!–#include file=”planilha.asp”–>

As diferenças entre realizar o include “virtual” ao invés de “file” consistem em que a primeira tem em conta a raiz de seu domínio e com a segunda se tem em conta o lugar onde está o documento no qual estamos incluindo o arquivo. À princípio, pode ser mais útil trabalhar com o modo “virtual” pois se movemos de diretório as páginas de nosso site os includes continuarão funcionando. Vendo vários exemplos poderemos entendê-lo melhor.

<!–#include virtual=”/planinhas/cabecalho.asp”–>
Incluímos um arquivo chamado cabeçalho que está no diretório planilhas, que está por sua vez na raiz do domínio. Com este método o include funcionará independentemente de onde estiver o arquivo que o inclui.

<!–#include file=”planilhas/cabecalho.asp”–>
Isto só funcionará se o arquivo que realiza o include estiver na raiz do domínio. Mas falhará se estivermos em qualquer subdiretório do domínio.

<!–#include file=”../planilhas/cabecalho.asp”–>
Assim, conseguiríamos que funcionasse se o arquivo o qual incluímos o cabeçalho estiver em um subdiretório imediatamente depois da raiz do domínio.

Include e a segurança

À princípio podemos utilizar qualquer extensão no arquivo que vamos incluir. As extensões mais correntes são .txt, .inc, .html ou .asp. Entretanto, é recomendável por motivos de segurança, nomeá-los como .asp, sobretudo se inserimos código ASP dentro do arquivo a incluir.

O motivo pelo qual é mais seguro nomear os includes com extensão .asp é que se um usuário tentar acessar ao arquivo que se inclui diretamente teclando sua URL na barra de endereços do navegador, algo assim como http://www.dominio.com/arquivos_a_incluir/funcoes_comuns.inc, receberia como resposta o código completo e sem executar do include e, provavelmente, não nos interesse que vejam esse código de nosso web site. É especialmente delicado este problema quando dentro do código colocamos informação crítica como pode ser a cadeia e conexão à base de dados.

Com a extensão .asp nos asseguramos que, no caso de que um usuário consiga acessar aos includes, estes se executarão no servidor e se eliminarão todos os códigos ASP que não desejarmos distribuir.

Modo de funcionamento e problemática

O modo de funcionar deste tipo de includes consiste em que primeiro se inserem os arquivos na página, criando um conjunto que será formado pelo arquivo fonte e todos os includes inseridos dentro dele. Uma vez criado esse grande diretório, executam-se os scripts ASP.

Poderia haver um problema se quisermos incluir um arquivo cujo nome devemos extrair de uma variável ASP. Imaginem que temos que incluir um arquivo que temos seu nome numa variável. Assim:

<%
arquivoInclude = “meuarquivo.html”
%>
<!–#include virtual=arquivoInclude–>

Como o código ASP não se executa até depois de haver incluído o arquivo, na hora de incluí-lo não se resolveu o nome que se deseja incluir. Com outras palavras, ASP não sabe o que é que vale a variável arquivoInclude quando vai incluí-lo, portanto não realiza o include tal como desejaríamos.

Para dar um bom parâmetro a uma página web e que sua utilização seja fácil mais cedo ou mais tarde, o anterior será um inconveniente. Portanto, podemos resolver o problema da seguinte forma, criando uma função que realize o include do arquivo. Vejamos como seria essa função:

<%
function inclui(arquivo)
arquivo= request.serverVariaveis(“APPL_PHYSICAL_PATH”) & arquivo
set confile = createObject(“scripting.filesystemobject”)
set fich = confile.openTextFile(arquivo)
while not fich.atEndOfStream
lineactual = fich.readLine
response.write(lineactual)
wend
end function
%>

Teríamos que comentar várias coisinhas sobre esta função. Recebe o nome do arquivo que desejamos abrir. Para construir a rota completa deste arquivo teremos que utilizar o objeto request para extrair a variável do servidor que contem a rota do disco rígido onde se encontra o domínio. Uma vez construído o nome do arquivo com sua rota, criamos o arquivo nas 2 seguintes linhas. Finalmente, fazemos um loop que vai extraindo do arquivo o texto correspondente e imprimindo na página.

Somente destacamos um ponto contra esta forma de incluir os arquivos. Trata-se de que não poderemos incluir nada mais que código HTML, nunca código ASP, pois não se executaria e ficaria impresso na página junto com o código HTML. É uma limitação significativa, mas nos casos nos quais somente necessitamos incluir texto pode servir muito bem.

Fonte: http://www.criarweb.com/artigos/392.php

Deixe um comentário