nuno_couto Posted July 7, 2006 at 12:37 PM Report Share #36803 Posted July 7, 2006 at 12:37 PM Boas. Para explicar a minha dúvida vou criar um exemplo. Num sistema de login, para defenir se o login está feito ou não, estou a criar a variável $session de cada vez que um ficheiro é aberto, atribuindo-lhe o valor "on", "off", "erro","erro_max" O login funciona bem e não deu qualquer problema. O site mostra sempre o formulário de login num canto, independentemente da navegação (está sempre visivel acima do banner). Criei vários ficheiros. Um para o estado em que o login não está feito, outro para o estado em que o login já foi feito (em que aparece apenas bem vindo utilizador) e outro para as situações em que há erro de login, em que surge o formulário com a mensagem de erro. Estou ainda a criar um outro que diz que errou demasiadas vezes o login e não pode entrar. Resumindo, há 4 ficheiros diferentes que podem "ir parar" ao local do formulário de login. Para facilitar criei um ficheiro chamado formulariodelogin.php e aqui ele vai ver qual a variável $session e faz include("file")... escolhendo o ficheiro correspondente. Tudo funciona bem mas há um pequeno erro... Não causa problemas de segurança mas gostaria de saber como resolver porque pode ser útil noutros ficheiros. Se um user que está log_off escrever o nome do formulario_x.php que corresponde ao estado de login, ele vai conseguir ver esse ficheiro. O que queria saber é se é possível ter um comando com a seguinte lógica: if($session=="off") {} else {para a leitura do ficheiro... não mostrando o conteúdo daquele formulário} Penso que para este objectivo seria uma forma segura. portalmundial.net »» criamos sites Link to comment Share on other sites More sharing options...
M6 Posted July 7, 2006 at 01:04 PM Report Share #36807 Posted July 7, 2006 at 01:04 PM Normalmente esse tipo de situações usam apenas um ficheiro e vários estados. Ou seja, a página é única e segue (+/-) esta lógica: 1. se o login deu erro: mostrar a mensagem de erro (seja tentivas de login excedidas ou outro) 2.1. se o utilizador está logado: mostra "menu", com opção de logout 2.2. se o utilizador não está logado: mostra formulário de login Repara que as verificações 1. e 2.x não são exclusivas, mas as verifcações 2.1. e 2.2. são exclusivas. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to comment Share on other sites More sharing options...
nuno_couto Posted July 7, 2006 at 10:36 PM Author Report Share #36958 Posted July 7, 2006 at 10:36 PM Mas sabes se há algum comando que "pare" a leitura do ficheiro por exemplo? Qualquer coisa do tipo if($name=="x") { } else {qq coisa que consiga ignorar o resto do ficheiro} portalmundial.net »» criamos sites Link to comment Share on other sites More sharing options...
Drone Posted July 8, 2006 at 01:45 AM Report Share #36999 Posted July 8, 2006 at 01:45 AM die() exit() Link to comment Share on other sites More sharing options...
nuno_couto Posted July 8, 2006 at 01:28 PM Author Report Share #37060 Posted July 8, 2006 at 01:28 PM Uiiii 😉 fantastico... era exactamente isto Mt obrigado portalmundial.net »» criamos sites Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now