Criando Páginas Web com ASP
ASP (Active Server Pages) é uma tecnologia web do lado do servidor, da Microsoft. Ela roda no IIS, e as páginas misturam código do servidor com HTML. ASP.NET Core é a direção atual, mas muitos sistemas existentes ainda usam o ASP clássico com VBScript. Este artigo explica como as requisições são tratadas, como os formulários são lidos e as práticas que você precisa conhecer.
Nota de teste: o computador usado para escrever este artigo não tem IIS nem ASP, então o código não foi executado aqui. Instale o IIS com ASP e teste você mesmo antes de usar.
O que você precisa
- Windows com IIS (Internet Information Services) e o recurso ASP ativado
- Uma pasta web no IIS, por exemplo `C:\inetpub\wwwroot\demo`
Como funciona
Sua primeira página ASP
Crie `ola.asp` e digite:
<%@ Language="VBScript" %>
<html>
<body>
<h1>Olá, ASP</h1>
<p>Hora no servidor: <%= Now() %></p>
</body>
</html>
`<% ... %>` é código executado no servidor, e `<%= ... %>` escreve um valor dentro do HTML enviado de volta ao navegador.
Lendo dados de um formulário
<%@ Language="VBScript" %>
<%
Dim nome
nome = Request.Form("nome")
%>
<form method="post" action="saudacao.asp">
Nome: <input type="text" name="nome">
<input type="submit" value="Enviar">
</form>
<% If nome <> "" Then %>
<p>Bem-vindo, <%= Server.HTMLEncode(nome) %></p>
<% End If %>
`Request.Form` lê os valores enviados. `Server.HTMLEncode` impede que o usuário injete HTML ou scripts na página.
Conectando a um banco de dados
O ASP clássico normalmente usa ADO para se conectar a bancos de dados. Sempre use parâmetros e nunca concatene a entrada do usuário diretamente ao texto SQL, porque isso permite SQL injection.
Erros comuns
- **Exibir a entrada do usuário sem codificação:** sempre use `Server.HTMLEncode`.
- **Montar o texto SQL com a entrada do usuário:** isso permite SQL injection. Use comandos com parâmetros.
- **Recurso ASP não ativado no IIS:** a página mostra o código-fonte em vez do resultado. Verifique a instalação do recurso primeiro.
Próximos passos
Para projetos novos, considere o ASP.NET Core, que continua em desenvolvimento ativo. Sistemas ASP existentes devem ser migrados aos poucos, adicionando verificações de segurança no caminho.
Resumo
O ASP executa código no servidor pelo IIS e o mistura com HTML. Os pontos principais são codificar os valores exibidos e usar parâmetros ao acessar o banco de dados.