Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Thiago Paschoalin

Como usar SERVER.EXECUTE("pagina.asp") ?

Recommended Posts

Olá galera, beleza ???

 

Eu fiz um sistema de avaliação física para uma academia, onde será colocado no IIS e ligado em rede para que todos os computadores dessa academia façam avaliação, certo ? Bom... Por questão de segurança (para mim) eu encriptei todas as páginas e coloquei um código assim:

 

topo.asp<!--#include file="../../../WINDOWS/paginaSECRETA.asp"--><% if meuinclude = "" or 0 Then Response.Redirect("sair.asp") End If %>

Esse código está na página topo.asp, onde TODAS as páginas com conteudo chamam ela, OK ? e dentro desta pagina topo.asp chamei um #include file="../../WINDOWS/paginaSECRETA.asp" - onde esta páginaSECRETA.asp contem o seguinte conteudo:

 

paginaSECRETA.asp<% meuinclude = "correto" %>

 

Tudo isso para o caso do cara tentar copiar os arquivos e usar em um novo computador, como sabem o seguro morreu de velho... hehehe

 

 

AGORA ENTRA O MEU PROBLEMA....

 

Usando "#Include File" por não poder entrar dentro do código ASP, ele fica esposto, e com isso qualquer um que abrir o código-fonte irá ver onde está está página SECRETA... então E AGORA ????

 

eu tentei usar SERVER.EXECUTE assim:

 

Na 1 linha da página topo.asp<% Server.Execute("../../../WINDOWS/paginaSECRETA.asp") %>

só que ele NÃO deu certo para mim de JEITO ALGUM... POR FAVOR ME AJUDEMMMMMM....

 

 

Abraço a todos e estou grato desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

com conexão de banco o Server.Execute não funciona:

 

com outro conteúdo ele fica ok!

<% Server.Execute("index.asp") %>

qual é o erro que da?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na realidade ele não é usado no banco...

 

O erro é este:

"Objeto Server, ASP 0228 (0x80004005)

Falha da chamada para Server.Execute ao carregar a página."

 

 

A página chamada no Server.Execute, tem somente uma tag ASP:

 

<% tirou = "não" %>

 

É só para o caso de tirarem está página da pasta, não irá executar nada... entende...

Compartilhar este post


Link para o post
Compartilhar em outros sites

teste assim na sua máquina, é só um teste e post o resultado

 

crie uma página index.asp com o seguinte código:

 

index.asp

<% Server.Execute("index2.asp") %>

 

depois crie a página index2.asp com o seu código:

 

index2.asp

<%
tirou = "não"
Response.Write(tirou)
%>

depois post o resultado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Funcionou NORMAL....

 

Agora, só uma observação, pelos erros que eu tive aqui, com alguns testes, esse Server.execute funciona mais como IFRAME e não como #Include, não é ?

 

 

falo isso, pq tenho include dentro de include, ou seja, a inicial.asp chama o include topo.asp e a topo.asp chama o include paginasecreta.asp só que o que tem dentro da paginasecreta.asp não é lida nem pela topo.asp e nem pela inicial.asp

Digo como continuação... como o que eu preciso.

 

Então o que eu quero nunca irá funcionar... BUABUA... tô perdido... kkkk

 

----- Editado -----

 

Olha o que eu fiz... é o que eu quero:

 

default.aspServer.Execute("tirar.asp")if tirou = "" Then Response.Write("<br><br>- deu Algum erro<br><Br>") Else Response.Write("<br><br>- Tá tudo certo<br><Br>") End If

e no include

tirar.asptirou = "não"Response.Write(tirou)

O resultado foi:

Ele mostra o conteudo do tirar.asp, MAS não fez a verificação do IF

Compartilhar este post


Link para o post
Compartilhar em outros sites

o Server.Execute funciona mormal, mais deve ter algum código que está bloqueando o acesso dele, tente otmizar seu código para ñ ficar cheio de includes essa página secreta você poderia colocar ele na inicial. ex:

 

Inicio.asp

<%@ Language="VBScript" %>
<!-- #Include File="Topo.asp"-->
<% Server.Execute("PaginaSecreta.asp") %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O Server.Execute não retorna variáveis criadas/carregadas por ele, uma alternativa é usar Sessions nesse caso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salgado eu testei o exemplo e funcionou como, uma aternativa sim é o session pra ele ou no caso melhor como ele quer segurança

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então Salgado e Ted, o problema é que estou usando Session para autenticação do usuário já.E é exatamente o que o Salgado falou é do que preciso, uma confirmação de uma variavel, só que tem que ser dentro do código, para que eu posso encriptar tudo junto, e não vejam o caminho desse arquivo .aspSó que uso a Session para autenticar usuário, teria como eu usar ele mesmo assim ? se tem, como seria com explicação , por favor. !Grato desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ted, no seu exemplo você deu Response.Write dentro do arquivo que foi chamado, teste com ele no arquivo "chamador".

 

Thiago, você pode criar várias sessions com nomes diferentes sem problemas (a não ser o desempenho em caso de muitas sessions ou acessos).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha o que eu fiz, pelo jeito tá errado, mas então me corrijam por favor, OK ?

 

default.asp<% Server.Execute("tirar.asp")if tirou = "" Then Response.Write("<br><br>Ele não leu a Session<br><Br>") Else Response.Write("<br><br>Session LIDA<br><Br>") End If%>

 

tirar.asp<%Session("tirou") = "não"response.write(session("tirou"))%>

O resultado foi:

não 'resultado da página tirou.aspEle não leu a Session 'resultado da página default.asp

OU SEJA, o IF não leu o resultado da session... HELP MEEEEE... abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fique a vontade em postar mais se ligue em uma coisa que falei antes, tente otmizar suas aplicações pois usar includes é legal mais se tiver muitos fica ruim de administrar!

Compartilhar este post


Link para o post
Compartilhar em outros sites

EU entendo... uso sempre 2 includes... Topo e Rodape... e só... só para montar sistemas assim internos que procuro fazer um 3º include "escondido" nas pastas do windows.Agora Ted, me tira uma ultima dúvida sobre o Server.Execute, se possivel.Pq ele não é lido normalmente como é o include ???Digo isso pelo seguinte, eu faço a conexão com o banco em uma página, depois faço #include em todas, certo ? Quando tentei colocar Server.Execute("conexao.asp") ele não faz a conexão... Pq isso ? fiquei meio perdido no conceito do SERVER.EXECUTE.Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

realmente nao funcionao server.execute tem algumas diferencas em relacao aos includeseste de nao conseguir passar funcoes e outras coisas para a pagina que achama é uma delas, alem do mais nao aceita parametros na chamadacoisas que o include aceita pois com o include é como se o codigo estivesse ali mesmo naquele lugar seria como se as duas paginas fossem uma sono caso do execute o que ocorre é que a pagina chamada é totalmente executada e so depois continua a pagina principal sem muita comunicacao com a pagina que foi executadaespero nao ter complicado mais ainda voce

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que está claro pra ele Mário mais só resaltando algo sobre #Include X Server.Execute:

 

Pense nisso antes de fazer ou #Include ou Server.Execute:

- O #Include é processado antes que a página seja execultada

- O Server.Execute é execultado após a página ser iniciada

Compartilhar este post


Link para o post
Compartilhar em outros sites

valew pelo complemento ted http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

É isso mesmo galera, acho isso uma falha de linguagem, não concordam comigo que deveria existir uma tag ASP onde se faz EXATAMENTE a ação do #include que seja dentro do código <% ... %> ?!!!Isso ai, abraços e obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.