Ir para conteúdo

POWERED BY:

Arquivado

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

bbtrion

Problema em Restrição de acesso

Recommended Posts

Olá,

 

Estou com um problema de restrição de paginas onde cada usuário tem sua pagina com seu conteúdo, seguinte:

 

a url do visitante 1:

 

exibir.asp?id=1

 

só visitante 2:

 

exibir.asp?id=2

 

só que se o usuário 1 quiser mudar quiser mudar a url para acessar o a 2 ele consegue.

 

tem alguma maneira de fazer que o usuário 1 veja apenas o acesso 1 ?

 

Obrigado

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz um sistema de login, olha este link, onde somente determinado usuário tem acesso, com bloqueios para outros usuários, não pode logar duas vezes e depois pode implementar para logar em máquinas diferentes e se puder usar o log de acesso pegando IP, data,hora etc)

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este link,

Compartilhar este post


Link para o post
Compartilhar em outros sites

fez o login registra o id do individuo em uma session

<%
Session("seu_id_espertinho") = 1
%>

na pagina exibir.asp

<%
'agora eu te pego na curva
If Request("id")<>Session("seu_id_espertinho") Then
   Response.Redirect("erro.asp?msg=q%20issu%20joven")
End If
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

aconselho a tratar os erros também na hora de logar

 

 

<% Option Explicit
'declara as var
dim varsenha, varlogin, conexao ,rs, SQL, conDBQ, constring, rsselect, sqlselect, rsinsert, sqlinsert, rsupdate, sqlupdate,data
'recupera as var
varlogin=Trim(request.form("login"))
varsenha=Trim(request.form("senha"))
varlogin=Replace(varlogin,"'","")
varsenha=Replace(varsenha,"'","")
if varlogin="" then
response.redirect("logincli_form_treina.asp?msgeof=1")
end if
if varsenha="" then
response.redirect("logincli_form_treina.asp?msgeof=2")
end if
if Session("logado")=True then
response.redirect("logincli_form_treina.asp?msgeof=5")
end if 
%>
<!--#include file="conn/conexao1.asp"-->
<%
 call abreconexao
'cria o recordset
Set rs=Server.CreateObject("ADODB.Recordset")
SQL="SELECT * FROM login WHERE login='"&varlogin&"'"
rs.open SQL,conexao,1,3
	if rs.eof then
	   response.redirect("logincli_form_treina.asp?msgeof=3")
	else
		if Lcase (varsenha) <> Lcase(rs("senha")) then
			response.redirect("logincli_form_treina.asp?msgeof=4")
			session("logado")=False
		else
			session("logado")=True
			session("senha")=varsenha
			session("login")=varlogin
			response.Redirect("administracao_treina.asp")
		end if
	end if
set rs=nothing
call fechaconexao%>

como login vazio,senha vazia,login inválido,senha incorreta,se user jah logado, user não está logado,por isso nãotem permissão para entrar em atualizaçãosuporte. Daí no form coloque o SELECT CASE abaixo:

 

 

<% Option Explicit 
'declara as var
dim varmsgeof, bc, data
'recupera a msgeof do erro no login_action
varmsgeof=request.querystring("msgeof")%>

<script language="javascript">
function novajan(){
window.open ("erro_treina.asp","Erro","width=240,height=240,scrollbar=no,status=yes,resize=no")
}
</script>
<script language="JavaScript">
function novajan1(){
window.open("terminar_treina.asp","Encerrar", "width=260,height=240,status=yes,scroolbars=no,toolbar=no")}
</script>
<script language="JavaScript">
function novajan2(){
window.open("efetuarlog_treina.asp","Encerrar", "width=150,height=240,status=yes,scroolbars=no,toolbar=no")}
</script>
<%
Select case varmsgeof
case 1 'login vazio
response.write("<script>novajan();</script>")
case 2 'senha vazia
response.write("<script>novajan();</script>")
case 3 'login inválido
response.write("<script>novajan();</script>")
case 4 'senha incorreta
response.write("<script>novajan();</script>")
case 5'se user jah logado
response.write("<script>novajan();</script>")
case 6   ' user naun está logado,por isso naun tem permissaun para entrar em atualizacaun/suporte
response.write("<script>novajan2();</script>")
end select %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então Xan, vi seu codigo mas ainda me restou a mesma duvida do bbtrion.

Eu faço meu sistema chamar autorizações para mostrar o menu, ou seja, se o user nao tem autorização para entrar no sistema financeiro (que é o id=1 gerado pelo BD e gravo na session) nem aparece pra ele, massss se ele descobrir a URL da pagina consegue acessar. O sistema é gigante, já imaginou colocar codigos na mão para cada pagina? Ou criar includes, acho contra-producente.

Alguem tem uma ideia de como impedir isso dinamicamente?

Compartilhar este post


Link para o post
Compartilhar em outros sites

cria na base de dados no login informações de paginas que pode acessar, depois só fazer uma consulta rapida e por um if

 

Humberto

Entendi, mas é muita coisa pra colocar no BD, e o sistema sofre mudanças significativas a todo momento (é um sistema gerenciador de uma empresa, então hora é NFe, hora é e-Social, hora é legislação que muda), mas penso que não vai ter jeito ou eu coloco um validador via codigo em cada pagina ou coloco os endereços dela no DB como vc disse....

 

Se alguem pensar em uma solução, posta ai pra gente.

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

crie uma tabela chamada privilégios por exemplo, e nela vc insere as páginas onde poderá acessar, e faz a verificação via login

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz como citei no post #10, crie uma tabela e nela sete as permissões, tipo assim:

 

644345_631187986925001_235861252_n.jpg

 

default.html.

 

<table width="20%"
border="1" align="center" cellpadding="5"cellspacing="0"
bordercolor="#CCCCCC" class="categoria">
<tr>
<td><strong>Login:</strong></td>
<td><div align="left">
<input name="txt_login" type="text" class="form"
id="txt_login" size="10" maxlength="8">
</div></td>
</tr>
<tr>
<td><strong>Senha:</strong></td>
<td><div align="left">
<input name="txt_senha" type="text" class="form"
id="txt_senha" size="10" maxlength="8">
</div></td>
</tr>
<tr>
<td> </td>
<td align="right"> <div align="left">

<input name="Enviar" type="submit" class="Botao"
id="Enviar" value="ENVIAR">
    </div></td>
</tr>
</table>

 

login.asp.

 

<%
‘Efetuando a conexão com a base de dados criada
Set Conn = Server.CreateObject("AdoDb.Connection")
Conn.provider="Microsoft.Jet.OLEDB.4.0"
Conn.connectionstring=Server.Mappath("/banco.mdb")
Conn.open

‘Vamos capturar o
login e a senha digitada no firmulário
login2 = Request.Form("txt_login")
senha2 = Request.Form("txt_senha")
‘Agora verificamos
se o usuário e a senha estão corretos
SQL = "select * from usuarios where login = ‘"&login2&"’
and senha = ‘"&senha2&"’ "
Set RS = Conn.Execute(SQL)
‘Caso não
esteja correto, indicamos o erro
If RS.EOF Then
  Response.Write "usuário ou senha inválida!"
  Response.End
End If
‘Se chegou até
aqui, é porque o login e senha estão corretos.
‘Vamos então verificar o nível de acesso do usuário.
session("nivel_acesso") = RS("nivel")
‘Colocamos numa session pois iremos utiliza-las em outras
páginas
Response.Redirect "adm.asp" ‘página
restrita
%>

 

adm.asp

 

 

<%
‘A primeira coisa a ser feita é verificar se o
usuário está logado
If session("nivel_acesso") = "" Then
  Response.Write "Você não está
logado!"
  Response.End
End If

‘Vamos então,
verificar o nivel de acesso do usuário e inserirmos o conteúdo
correspondente
‘Aqui, cada um insere o que desejar. Vou deixar em aberto
para vocês poderem colocar o que precisam, ok?!
‘Vou colocar apenas alguns links, como se fosse um menu
If session("nivel_acesso") = 3 Then ‘gerentes
%>
  ≶a href=”consultar.asp”>Consultar usuário

  <a href=”inserir.asp”>Inserir usuário</a>
  <a href=”alterar.asp”>Alterar usuário<
/a>
  <a href=”inserir.asp”>Deletar usuário</a>
  <a href=”relatorios.asp”>Verificar relatórios</a>

<%
Elseif session("nivel_acesso") = 2 Then ‘supervisores
%>
  <a href=”consultar.asp”>Consultar usuário</a>
  <a href=”alterar.asp”>Alterar usuário</a>
<%
Else ‘estagiários
%>
  <a href=”consultar.asp”>Consultar usuário</a>

<%
End If
%>

 

 

relatorios.asp

coloque o seguinte código (no início da página).

 

<%
If session("nivel_aecsso") < 3 Then ‘se não
for gerente
  Response.Write "Você não tem autorização
para ver esta página!"
  Response.End
End If
%>

 

 

Faça isso para as demais páginas
protegidas para o nível 3 e nível 2. Lembrando que
nas páginas de nível 2, o If é <
2
,

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.