Ir para conteúdo

POWERED BY:

Arquivado

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

Eduardo Villa

[Resolvido] Permitindo o acesso só para o ADMIN...(NÍVEL)

Recommended Posts

E ai galera Imaster,

Bom estou precisando bloquear o acesso do painel do administrador para que a pessoa não digite a URL no campo endereço e consiga acessar...

No BD ACCESS coloquei um campo NIVEL na tabela USUARIOS onde só o que tenha nível 1, terá o acesso.

 

Estou usando este código em todas as páginas a serem bloqueadas, mas nem o ADMIN (NÍVEL 1) está acessando.

<%
If session("nivel_user")="" Then 
  Response.Redirect("default.asp")
  Session("pagina_restrita") = Request.ServerVariables("SCRIPT_NAME")&"?"&request.ServerVariables("QUERY_STRING")
  Response.End()
End If
set conexao = Server.CreateObject("ADODB.Connection")
conexao.provider= "Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("CAMINHO_DO_BANCO")&";"
conexao.open
SQL = "select * from usuarios where nivel="&session("nivel_user")
Set RS = Conexao.Execute(SQL)
If rs.eof then
End If 
%>

É preciso fazer alguma alteração no código que estou usando???

Aguardo Resposta

Dudesigner

Compartilhar este post


Link para o post
Compartilhar em outros sites
If (Not isNumeric(session("nivel_user"))) Or (len(session("nivel_user")) = 0) Or (session("nivel_user") > 1)) Then

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hargon,

No caso irá ficar assim:

<%
If (Not isNumeric(session("nivel_user"))) Or (len(session("nivel_user")) = 0) Or (session("nivel_user") > 1) Then
  Response.Redirect("default.asp")
  Session("pagina_restrita") = Request.ServerVariables("SCRIPT_NAME")&"?"&request.ServerVariables("QUERY_STRING")
  Response.End()
End If
set conexao = Server.CreateObject("ADODB.Connection")
conexao.provider= "Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("CAMINHO_DO_BANCO")&";"
conexao.open
SQL = "select * from usuarios where nivel="&session("nivel_user")
Set RS = Conexao.Execute(SQL)
If rs.eof then
End If 
%>

OU...

 

<%
If (Not isNumeric(session("nivel_user"))) Or (len(session("nivel_user")) = 0) Or (session("nivel_user") > 1) Then
End If
set conexao = Server.CreateObject("ADODB.Connection")
conexao.provider= "Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("CAMINHO_DO_BANCO")&";"
conexao.open
SQL = "select * from usuarios where nivel="&session("nivel_user")
Set RS = Conexao.Execute(SQL)
If rs.eof then
End If 
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Era mais fácil você ter testado e ver qual lhe atendia...

 

O correto é a primeira opção, usei seu mesmo código, apenas alterei as condições do IF.

 

Se não funcionar posta aí.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dudu tenho a solução

 

 

no seu banco access você tem o campo (acesso) e ele receberá 1 se for um administrador por exemplo

 

na pagina de validar o LOGIN você vai fazer:

 

 

 

'>>>>>>>>>>>primeiro abrir conexao com o banco de dados: exemplo(dblogin é o banco de dados)'

caminho=left(Server.mappath(Request.ServerVariables("PATH_INFO")),InstrRev(Server.mappath(Request.ServerVariables("PATH_INFO")),"\"))

  Dim ObjDB
  Set ObjDB = Server.CreateObject("ADODB.Connection")
  ObjDB.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&caminho&"db_login.mdb"

'>>>>>>>>agora pegando os valores da caixa de login em HTML:'

login = request("login")
senha = request("senha")

'SQL para ver a tabela que tem o campo login e campo senha'

sql = "select * from SUATABELAdeLOGIN "


'>>>>>>>>>>ABRINDO RECORDSET(obs: esse recordset é para o ACCESS)'


set RSlogin = server.createobject("ADODB.RecordSet")
RSlogin.Open sql, Objdb,3,1

'>>>>>>>>>>AGORA TESTANDO SE TEM LOGIN E SENHA CORRETOS'



if RSlogin("login") = login and RSsenha("senha") = senha then



'>>>>>>WHILE PARA VER TODOS OS REGISTROS DA TABELA LOGIN'

WHILE NOT RSlogin.EoF



'>>>>>>>>AGORA O IF Q FARÁ O ACESSO RESTRITO! (acesso = 1 significa ser acesso de administrador por ex)'




if RSlogin("acesso") = '1' then

response.redirect("administrador_pagina.asp")

elseif RSlogin("acesso") <> '1' then

response.redirect("outra_pagina.asp")


end if

RSlogin.MoveNext

WEND

VLW DUDU TESTA AÍ PARCEIRO!!! FUIZ http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valew pela ajuda Pedro PH,

mas estou querendo bloquear o acesso das páginas ao digitar a URL no campo endereço...

 

Ex:

Ao digitar www.globo.com.br/admin/cad_noticia.asp ele é redirecionado para login.asp, umas vez que as páginas dentro da pasta ADMIN são restritas.

 

Entendeu???

Estou precisando disso com muita urgencia...

Obrigado

Dudesigner

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde .... estava acompanhando o post, e acho q posso te ajudar, você deve fazer no login uma sessão para saber se o usuário está logado ou ñ, ai você faz uma verificação se a sessão está logada, assim você consegue bloquear o acesso pela url ....

 

exemplo

 

Na página de login qd o usuário de loga você só insere isso

 

session("logado") = "ON"

 

e nas demais páginas você insere

 

if session("logado") = "ON" then

executa o script

else

response.redirect "default.asp"
end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caras desisto...

Acho que nesta pagina preciso colocar algo pra USAR a SESSÃO correta... e nas outras dar acesso só para esta sessão UTILIZADA.

 

vou postar meu código que valida o login:

 

<title>Restricted Area</title>
<%
login = request.form(Replace("login", "'", "''"))
senha = request.form(Replace("senha", "'", "''"))
if login = "" then
response.redirect "default.asp"
response.end()
end if
if senha = "" then
response.redirect "defaulr.asp"
response.end()
end if
login = replace(login,"'","''")
login = replace(login,"#","''")
login = replace(login,"$","''")
login = replace(login,"%","''")
login = replace(login,"¨","''")
login = replace(login,"&","''")
login = replace(login,"'or'1'='1'","''")
login = replace(login,"--","''")
login = replace(login,"insert","''")
login = replace(login,"drop","''")
login = replace(login,"delet","''")
login = replace(login,"xp_","''")
login = replace(login,"select","''")
login = replace(login,"*","''")
senha = replace(senha,"'","''")
senha = replace(senha,"#","''")
senha = replace(senha,"$","''")
senha = replace(senha,"%","''")
senha = replace(senha,"¨","''")
senha = replace(senha,"&","''")
senha = replace(senha,"'or'1'='1'","''")
senha = replace(senha,"--","''")
senha = replace(senha,"insert","''")
senha = replace(senha,"drop","''")
senha = replace(senha,"delet","''")
senha = replace(senha,"xp_","''")
senha = replace(senha,"select","''")
senha = replace(senha,"*","''")
set conexao = Server.CreateObject("ADODB.Connection")
conexao.provider= "Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("_***********_")&";"
conexao.open
SQL = "select * from usuarios where login_usuario = '"&login&"' and senha_usuario = '"&senha&"' "
Set RS = Conexao.Execute(SQL)
If RS.EOF Then 
%>  
<head>
<title>Zanair</title>
<style type="text/css">
@import url("geral-index.css");
</style>
<script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>

<link href="estilo-news.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="wrapper">
  <div id="topo">
	<script type="text/javascript">
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0','width','948','height','243','accesskey','948','tabindex','243','src','topo_teste','quality','high','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','movie','topo_teste' ); //end AC code
</script><noscript><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="948" height="243" accesskey="948" tabindex="243">
	  <param name="movie" value="topo_teste.swf" />
	  <param name="quality" value="high" />
	  <embed src="topo_teste.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="948" height="243"></embed>
	</object></noscript>
  </div>  <!-- Termina topo !-->
  <div id="conteudo" style="padding-top:10px;">
<br />
<br />
		 <table width="639" border="0" align="center" cellpadding="0" cellspacing="0">
	<tr>
				<td><div align="center" class="form">Login or Password wrong. Try again!!!</div></td>
			  </tr>
			  <tr>
				<td><div align="center" class="form"><a href="default.asp">Previous page</a></div></td>
			  </tr>
	  </table>
		 <br />
		 <br />
  </div> <!-- Termina weather !-->	
  <div id="rodape">	
  </div> <!-- Termina rodape !-->  
</div> <!-- Termina conteudo !-->
<div id="address">
	*************************************</div>
</div> <!-- Termina wrapper !-->

</body>
</html>
<%
  Response.End()
End If
session("usr_log_ok") = RS("id_usuario")
ip_usuario = Request.ServerVariables("REMOTE_ADDR")
SQL2 = "Update usuarios set ip_usuario='"&ip_usuario&"' where id_usuario="&rs("id_usuario")
conexao.execute(sql2)
rs.close
set rs = nothing
conexao.close
If Session("pagina_restrita") = "" then
' Redireciona após 5 segundos
response.write "<meta http-equiv='refresh' content='2; url=index.asp'/>"
else
response.Redirect Session("pagina_restrita")
end if
%>

Me ajudem,

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse script de login tá meio complicado hein .... teste isso cara e veja ...

 

login.asp

 

<title>Restricted Area</title>
<%
login = request.form(Replace("login", "'", "''"))
senha = request.form(Replace("senha", "'", "''"))

login = replace(login,"'","''")
login = replace(login,"#","''")
login = replace(login,"$","''")
login = replace(login,"%","''")
login = replace(login,"¨","''")
login = replace(login,"&","''")
login = replace(login,"'or'1'='1'","''")
login = replace(login,"--","''")
login = replace(login,"insert","''")
login = replace(login,"drop","''")
login = replace(login,"delet","''")
login = replace(login,"xp_","''")
login = replace(login,"select","''")
login = replace(login,"*","''")
senha = replace(senha,"'","''")
senha = replace(senha,"#","''")
senha = replace(senha,"$","''")
senha = replace(senha,"%","''")
senha = replace(senha,"¨","''")
senha = replace(senha,"&","''")
senha = replace(senha,"'or'1'='1'","''")
senha = replace(senha,"--","''")
senha = replace(senha,"insert","''")
senha = replace(senha,"drop","''")
senha = replace(senha,"delet","''")
senha = replace(senha,"xp_","''")
senha = replace(senha,"select","''")
senha = replace(senha,"*","''")
set conexao = Server.CreateObject("ADODB.Connection")
conexao.provider= "Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("_***********_")&";"
conexao.open
SQL = "select * from usuarios where login_usuario = '"&login&"' and senha_usuario = '"&senha&"' "
Set RS = Conexao.Execute(SQL)
If RS.EOF Then 
%>  
<head>
<title>Zanair</title>
<style type="text/css">
@import url("geral-index.css");
</style>
<script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>

<link href="estilo-news.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="wrapper">
  <div id="topo">
	<script type="text/javascript">
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0','width','948','height','243','accesskey','948','tabindex','243','src','topo_teste','quality','high','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','movie','topo_teste' ); //end AC code
</script><noscript><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="948" height="243" accesskey="948" tabindex="243">
	  <param name="movie" value="topo_teste.swf" />
	  <param name="quality" value="high" />
	  <embed src="topo_teste.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="948" height="243"></embed>
	</object></noscript>
  </div>  <!-- Termina topo !-->
  <div id="conteudo" style="padding-top:10px;">
<br />
<br />
		 <table width="639" border="0" align="center" cellpadding="0" cellspacing="0">
	<tr>
				<td><div align="center" class="form">Login or Password wrong. Try again!!!</div></td>
			  </tr>
			  <tr>
				<td><div align="center" class="form"><a href="default.asp">Previous page</a></div></td>
			  </tr>
	  </table>
		 <br />
		 <br />
  </div> <!-- Termina weather !-->	
  <div id="rodape">	
  </div> <!-- Termina rodape !-->  
</div> <!-- Termina conteudo !-->
<div id="address">
	*************************************</div>
</div> <!-- Termina wrapper !-->

</body>
</html>
<%
else
session("usr_log_ok") = RS("id_usuario")
ip_usuario = Request.ServerVariables("REMOTE_ADDR")
SQL2 = "Update usuarios set ip_usuario='"&ip_usuario&"' where id_usuario="&rs("id_usuario")
conexao.execute(sql2)
rs.close
set rs = nothing
conexao.close

response.Redirect "pagina.asp"
end if
%>

pagina.asp

 

<% if session("usr_log_ok") = 1 then
response.write "Administrador"
else
response.redirect "default.asp"
end if%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então este script esta uma bosta...

Nem fui eu que desenvolvi, e a empresa ñ deixou mudar.

 

Muito obrigado deu tudo certo cara.

Valew mesmo por ter ficado ai me ajudando...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opá q bom q conseguiu resolver .... Sobre o script só uma dica ::: Cada programador trabalha de uma forma, ai na sua empresa você tem q fazer o q é melhor pra você cara ...

 

Bom eu entrei em uma empresa uma vez q tinha todos os scripts prontos era só eu adaptar, mas eu ñ entendia nada daquilo, e resolvi criar os meus scripts ou usar outros desde q eu tenha intendido ... Mas os caras tbm ñ aceitavam q eu mudasse o padrão dos scripts lá, axo uma #@?$%~ sacanagem, mas isso era um padrão q eles criaram pois era uma empresa de programação então eles seguiam um padrão. Eu ñ tava satisfeito e fui pra outro lugar "onde estou hj" sou o único programador aki ahuahahuhauhauhua ...

 

Bom ñ sei qual o caso de você utilizar um script onde você ñ entenda ... abraçossss

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.