Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Visual FoxPro - Continuando com o FoxWeb, Notas de estudo de Informática

Configuraçao do Visual FoxPro para web.

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 28/09/2010

francis-barrimbhal-8
francis-barrimbhal-8 🇧🇷

4.6

(16)

26 documentos

1 / 5

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Página 1iMasters - Por uma Internet mais criativa e dinâmica
9/28/2010 8:45:22 AMhttp://imasters.uol.com.br/artigo/1943/visual_foxpro/continuando_com_o_foxweb/imprimir/
Nilton Paulino Quarta-feira, 07 de abril de 2004
Continuando com o FoxWeb
Em continuação à coluna anteirior sobreFoxWeb, esta coluna traz algumas técnicas que somadas às apresentadas na edição passada, poderão facilitar em muito a vida do
desenvolvedor.
No coluna anterior conhecemos os seguintes métodos do FoxWeb:
Request.Form()
Request.Item()
Response.Write()
Utilizando apenas estes três métodos, e é claro, aquela coleção de comandos do VFP que estamos acostumados a utilizar no nosso dia-a-dia, conseguimos construir um
aplicativo web que fosse capaz de Inserir, Editar, Apagar e Consultar dados em uma tabela. Como todos sabemos, issoé o básico que qualquer aplicativo deveria fazer.
Entretanto, muitas outras coisas que precisam ser realizadas num aplicativo Web, assim como em aplicativos Desktop. Exemplo disso pode ser um controle de acesso a
determinadas rotinas ou páginas.
Nesta coluna, meu objetivoé mostrar como utilizar Variáveis de Sessão e Variáveis de Servidor para fazer controle de acesso às páginas contruidas em FoxWeb e também
para coletar informações sobre o usuário que navega sobre a página e ainda para manter algumas informações na memória (como uma variável pública) por um determinado
tempo.
Antes de continuarmos, precisamos entender duas coisas:
1) Variáveis de Sessão: São uma coleção de variáveis que o Servidor Web armazena independentemente para cada usuário que utiliza o aplicativo web (site).
2) Variáveis de Servidor: São variáveis que o Servdor Web mantéme disponibiliza parausarmos em nossos aplicativos. Essasvariáveis podem conter diversos tipos de
informações como o número IP do usuário remoto, o nome do servidor, o nome de usuário que ele está usando no Windows NT/2000, e várias outras.
Uma vez conhecidos estes dois conceitos, muitas coisas poderemos realizar com tais variáveis.
Na edição anterior, várias vezes utilizamos expressões comoa seguinte:
<form name="form1" method="post" action="gravaeditarusuario.fwx?id=<%=tempusu.id_usuario%>">
Se você observar, o sinal "?" (ponto de interrogação)na expressão acima indica que um parâmetro estásendo passado. No caso o parâmetro é ID. Esse tipo de programação
pode nos confundir um pouco ou ainda tornar nossa tarefa de depuração de aplicativo mais cansativa, umavez que algumas variáveis comportam-se de forma um tanto
esquisofrênicas quando mescladas ao HTML. Isso se deve pela forma como são interpretadas pelo servidor.
Para acabar de vez com problemas dessa natureza, aplicamos as Variáveis de Sessão. Criar, Remover e Ler variáveis de sessão são tarefas bastante simples quando estamos
trabalhando com o FoxWeb.
Conheçamos agora alguns dos métodos e propriedades utilizadosp aramanipular variáveis de sessão:
Propriedades:
LastHit: Indica a data e hora da última requisição feita pelo usuário. Somente para leitura.
TimeOut: Define o tempo em minutos que uma sessão de usuário expira por inatividade. Pode ser alterada em tempo de execução.
Métodos:
Abandon: Instrui ao FoxWeb paradestruir a sessão de usuário e remover todas as variáveis de sessão a ela relacionadas.
GetSessioID: Retorna o ID da sessão. Uma sequência única de caracteres que identifica a sessão do usuário.
GetVar: Retorna o valor de uma variável de sessão gravada previamente.
Remove: Instrui ao FoxWeb pararemover uma determinada variável de sessão.
SetVar: Armazena uma variável de sessão para uso imediato ou superior, enquanto a sessão não expirar por inatividade (timeout), não ocorrer a destruição da sessão
(Abandon) ou a variável não for removida (Remove).
Neste artigo usaremos ainda mais um método do objeto Request que será:
ServerVariables: Retorna o conteúdo de uma variávelde Servidor, enviada pelo navegador (browser), ou provida pelo Servidor Web.
Algumas das variáveis de servidor:
HTTP_USER_AGENT: retorna uma string descrevendo o navegador (browser) que está sendo usado.
pf3
pf4
pf5

Pré-visualização parcial do texto

Baixe Visual FoxPro - Continuando com o FoxWeb e outras Notas de estudo em PDF para Informática, somente na Docsity!

Nilton Paulino Quarta-feira, 07 de abril de 2004

Continuando com o FoxWeb

Em continuação à coluna anteirior sobre FoxWeb, esta coluna traz algumas técnicas que somadas às já apresentadas na edição passada, poderão facilitar em muito a vida do desenvolvedor.

No coluna anterior conhecemos os seguintes métodos do FoxWeb:

Request.Form() Request.Item() Response.Write()

Utilizando apenas estes três métodos, e é claro, aquela coleção de comandos do VFP que já estamos acostumados a utilizar no nosso dia-a-dia, conseguimos construir um aplicativo web que fosse capaz de Inserir, Editar, Apagar e Consultar dados em uma tabela. Como todos sabemos, isso é o básico que qualquer aplicativo deveria fazer. Entretanto, há muitas outras coisas que precisam ser realizadas num aplicativo Web, assim como em aplicativos Desktop. Exemplo disso pode ser um controle de acesso a determinadas rotinas ou páginas.

Nesta coluna, meu objetivo é mostrar como utilizar Variáveis de Sessão e Variáveis de Servidor para fazer controle de acesso às páginas contruidas em FoxWeb e também para coletar informações sobre o usuário que navega sobre a página e ainda para manter algumas informações na memória (como uma variável pública) por um determinado tempo.

Antes de continuarmos, precisamos entender duas coisas:

1) Variáveis de Sessão: São uma coleção de variáveis que o Servidor Web armazena independentemente para cada usuário que utiliza o aplicativo web (site).

2) Variáveis de Servidor: São variáveis que o Servdor Web mantém e disponibiliza para usarmos em nossos aplicativos. Essas variáveis podem conter diversos tipos de informações como o número IP do usuário remoto, o nome do servidor, o nome de usuário que ele está usando no Windows NT/2000, e várias outras.

Uma vez conhecidos estes dois conceitos, muitas coisas poderemos realizar com tais variáveis.

Na edição anterior, várias vezes utilizamos expressões como a seguinte:

Se você observar, o sinal "? " (ponto de interrogação) na expressão acima indica que um parâmetro está sendo passado. No caso o parâmetro é ID. Esse tipo de programação pode nos confundir um pouco ou ainda tornar nossa tarefa de depuração de aplicativo mais cansativa, uma vez que algumas variáveis comportam-se de forma um tanto esquisofrênicas quando mescladas ao HTML. Isso se deve pela forma como são interpretadas pelo servidor.

Para acabar de vez com problemas dessa natureza, aplicamos as Variáveis de Sessão. Criar, Remover e Ler variáveis de sessão são tarefas bastante simples quando estamos trabalhando com o FoxWeb.

Conheçamos agora alguns dos métodos e propriedades utilizados para manipular variáveis de sessão:

Propriedades:

LastHit: Indica a data e hora da última requisição feita pelo usuário. Somente para leitura.

TimeOut: Define o tempo em minutos que uma sessão de usuário expira por inatividade. Pode ser alterada em tempo de execução.

Métodos:

Abandon: Instrui ao FoxWeb para destruir a sessão de usuário e remover todas as variáveis de sessão a ela relacionadas.

GetSessioID: Retorna o ID da sessão. Uma sequência única de caracteres que identifica a sessão do usuário.

GetVar: Retorna o valor de uma variável de sessão gravada previamente.

Remove: Instrui ao FoxWeb para remover uma determinada variável de sessão.

SetVar: Armazena uma variável de sessão para uso imediato ou superior, enquanto a sessão não expirar por inatividade (timeout), não ocorrer a destruição da sessão (Abandon) ou a variável não for removida (Remove).

Neste artigo usaremos ainda mais um método do objeto Request que será:

ServerVariables: Retorna o conteúdo de uma variável de Servidor, enviada pelo navegador (browser), ou provida pelo Servidor Web.

Algumas das variáveis de servidor:

HTTP_USER_AGENT: retorna uma string descrevendo o navegador (browser) que está sendo usado.

HTTP_COOKIE: Retorna a string Cookie usada na requisição.

HTTP_REFERER: Retorna uma string contendo o URL da página que solicitou a chamada do Script. Este é muito útil principalmente quando gostaríamos de saber de onde é que estão vindo os usuários de nosso web site.

LOCAL_ADDR: Retorna o IP do servidor ao qual a requisição foi feita. Em ambientes onde existem vários servidores para servir um mesmo site (quando há grande movimento), este recurso é muito útil para análises estatísticas pra se saber qual servidor está processando as informações.

LOGON_USER: Nome do usuário logado no Windows.

REMOTE_ADDR: Endereço IP do servidor remoto em caso de servidores PROXY/GATEWAY ou da própria máquina do usuário, quando da conexão direta por um provedor de acesso ou rede.

O número de variáveis de servidor que se pode usar é muito grande e portanto não temos necessidade de descrever todas elas nesta coluna. O importante é você saber que o FoxWeb consegue mapear todas as variáveis de servidor, mas nem todas podem ser utilizadas em seus scripts. Para saber quais variáveis você pode usar, você deve consultar a documentação do Servidor Web (IIS, Apache, NetScape, etc.), bem como a versão do seu navegador e também o tipo de requisições que está configurado no servidor (CGI ou ISAPI).

As variáveis apresentadas acima funcionam perfeitamente com internet Explorer 4 ou superior e no IIS 4 ou superior.

Agora que você já conhece mais algumas das propriedades, métodos e variáveis de servidor, poderemos começar a colocar em prática baseado no exemplo que utilizamos na edição passada.

Antes de começarmos a codificar, é importantíssimo sabermos o que precisamos fazer. Entendamos então de forma bem simples como funciona nosso aplicativo.

Na coluna anterior construímos um aplicativo que era capaz de cadastrar, consultar, editar e excluir usuários. O grande problema desse aplicativo é que ele não oferece nenhum controle de acesso às páginas. Ou seja, qualquer pessoa tendo o endereço poderá entrar em qualquer uma das rotinas a partir de qualquer ponto.

Vamos implementar ao código do artigo passado novas características de segurança. As regras a serem implementadas são as seguintes:

1) Um usuário só poderá acessar as rotinas de Alteração ou Exclusão se estiver logado.

2) Um usuário só poderá alterar ou excluir a si mesmo.

3) Quando o usuário tentar acessar uma página e não estiver logado, o mesmo deverá ser redirecionado para a página de Login.

4) A página de Login após validar o usuário deverá redirecioná-lo novamente para a página de resultado da busca.

5) As tarefas de Alteração e Exclusão devem ser registradas numa tabela de LOG.

Como você pôde notar, vamos trabalhar exclusivamente em cima do que já temos, fazendo apenas algumas alterações e criando uma tabela de LOG.

Para conseguirmos identificar se o usuário está ou não logado, será necessário utilizarmos variáveis de sessão. Como já vimos anteriormente, podemos utilizar três métodos para criar, ler e apagar variáveis de sessão:

Session.SetVar() Session.GetVar() Session.Remove()

Definiremos uma variável chamada ID_USUARIO , para identificar o usuário nas sessões. O conteúdo desta variável será o e-mail do usuário. Quando ela estiver vazia, é porque o usuário não logou no sistema ou a sessão pode ter expirado por tempo de inatividade.

O Código que usaremos para checar se o usuário está logado será o seguinte:

Se inserirmos este código exatamente antes de qualquer código nos nossos scripts, sempre que ID_USUARIO não existir, ou estiver vazio, será redirecionado para a página loga_usuario.fwx.

As páginas nas quais temos que adicionar o código acima são:

editarusuario.fwx excluiusuario.fwx gravaeditarusuario.fwx

Veja abaixo como ficou o código da página editarusuario.fwx:

Veja que até o momento, só utilizamos dois métodos novos, daqueles que apresentei no início deste texto. Na verdade é impressionante como se consegue fazer tanta coisa com tão poucos comandos, quando estamos utilizando o VFP como plataforma de desenvolvimento. Acho que é por isso que os VBZeiros ficam tão chateados e ficam profetizando a morte do VFP... mas a rapoza tem vindo cada vez mais poderosa! :)

Finalmente nos resta constuir o formulário de LOGIN de nosso aplicativo. Tudo muito simples. Será um camo ID (email) e um campo senha.

As propriedade ACTION desse form referencia a ele próprio, passando uma parâmetro. Assim o mesmo é capaz de validar a ele mesmo. Veja:

Agora passemos a examinar o código do script de validação do formulário:

Tudo que há de diferete daquilo que já estamos acostumados é a chamada ao método Session.SetVar(). Neste caso, o que este método está realizando é a definição da variável de sessão, ID_USUARIO.

Conclusão:

Nesta coluna, minha intenção foi mostrar mais alguns recursos e facilidades do FoxWeb. Com bastante facilidade implementamos uma das rotinas de segurança mais usadas em sites da internet. É claro que não é nada sofisticado, mas dá-se a idéia geral do ponto de partida para algo mais complexo.

Espero que esta coluna somado à anterior possam ser de grande valia para você.

Um novo fórum de discussão foi criado para tratar assuntos referentes a FoxWeb. Caso você tenha interesse em se cadastrar, o endereço é http://www.foxbrasil.com.br/ forum/

Para visualizar o resultado da codificação empregada neste artigo, acesse:

http://foxweb.foxtotal.com.br/colunas/parte2/

Click Aqui para fazer download do código fonte.

Meus sinceros agradecimentos a você, que com paciência chegou até ao final desta coluna.

Até a próxima coluna!

Grande abraço.