Ir para conteúdo

POWERED BY:

Arquivado

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

alexreis

Restringir páginas em PHP

Recommended Posts

Olá Pessoal,

Bom dia

 

Preciso trocar uma ideia com você's, tenho um sistema em php e preciso fazer um controle de acesso, restringir acesso a determinados usuarios, exemplo...

 

usuário: alexreis

 

(aqui ele vai listar todas as páginas.php que existem)

 

index.php

principal.php

frmUsuarioCadastro.php

frmUsuarioLista.php

frmEmpresaCadastro.php

frmEmpresaLista.php

 

essa são alguns exemplo de paginas.php que poderam existir, na frente da cada uma terá 02 check box (acesso

[] acesso libverado [] acesso restrito )

sendo assim quando eu cadastrar o usuario eu digo a qual pagina.pho ele tem acesso.

 

bom se alguem tiver algum ideia que possamos discutir

 

abraços

 

alex reis

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, este é um sistema simples de se fazer...

Aconselho que você busque aqui pelo fórum mesmo vai encontrar essa questão de "Niveis de usuário..."

Busque por "Login com níveis de usuário" e encontrará...

 

Basicamente na tabela em que estão os usuários, deverá constar um campo denominado acesso...

Ai você vai brincando com ele... e faça um formulario para bloquear ou permitir esse acesso, ou seja, para mudar o campo acesso da tabela para "sim" ou para "não"...

 

Ai nas páginas, uma ideia bem simples seria checar o acesso da sessão conectada (uma consulta no MySQL para capturar o campo acesso) e fazer uma simples condição

if($acesso != "sim"){die;}

Algo nesse estilo, claro se você usa um sistema de áreas e páginas proprios fica simples implementar ao invés de adicionar página por página...

Bom a ideia básica é essa... você encontra por ai facilmente.

 

Obs: caso queira algo mais elaborado, como reter o acesso a algo mas não a outro, você pode criar ao invés de "sim" ou "não", nomes mesmo... "técnico", "administrador"... e por ai vai, seguindo a mesma base. Ai você cria um switch em PHP denominando niveis para facilitar...

switch($acesso)
{
case "administrador": $nivel = 3; break;
case "técnico": $nivel = 2; break;
case "usuario": $nivel = 1; break;
default: $nivel = 0; break;
}
Ai você faz a condição por niveis...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com certeza a galera aki do forum tem formas mais lógicas para fazer isto. Mais uma forma simples seria fazer assim:

 

function verifica_permissao($id_usuario, $form){
	$sql =
	'SELECT
		PERMISSAO -- valor booleano no Banco de Dados...
	 FROM
		 PERMISSOES
	 WHERE
		 ID_USUARIO = ' . $id_usuario . ' AND FORMULARIO = \'' . $form . '\'';
	 $rs		 = mssql_query($sql);
	 $row		= mssql_fetch_array($rs);
	 return	  $row['PERMISSAO'];	 
}

//no inicio de todos os formularios ...

if (!verifica_permissao(1, 'frmUsuarioCadastro.php')){
	echo 'Você não tem permissão para acessar este formulário.'; exit;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei explicar de forma simples e compreensivel, creio que um usuário que vem a forum perguntar sobre niveis de acesso, é alguem que está iniciando ou tem apenas conhecimentos básicos e busca por respostas simples e objetivas, não por funções CTRL C + CTRL V.

 

Não foi atoa que disse para ele pesquisar em fórum, mesmo porque ele irá se deparar com diversas formas de resolução, de simples a avançadas.

Desculpe a sinceridade, não é para contrariar a moderação, mas sim expor meu modo de ver e ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei explicar de forma simples e compreensivel, creio que um usuário que vem a forum perguntar sobre niveis de acesso, é alguem que está iniciando ou tem apenas conhecimentos básicos e busca por respostas simples e objetivas, não por funções CTRL C + CTRL V.

 

Não foi atoa que disse para ele pesquisar em fórum, mesmo porque ele irá se deparar com diversas formas de resolução, de simples a avançadas.

Desculpe a sinceridade, não é para contrariar a moderação, mas sim expor meu modo de ver e ajudar.

Caro amigo, peço encarecidamente que leia atentamente esta linha do meu post:

Com certeza a galera aki do forum tem formas mais lógicas para fazer isto. Mais uma forma simples seria fazer assim: {...}

Começamos a responder este tópico junto, nem ao menos tinha visto q você tinha acabado de postar antes do que eu.... cada um ajudou com as ferramentas e idéias que tinha em mãos, creio q o interessante mesmo é fazer com que o nosso amigo entenda e esclareça suas dúvidas.

Se em nenhum post, tivesse trechos e exemplos de codigos, axo que isto não seria um fórum ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro amigo, peço encarecidamente que leia atentamente esta linha do meu post:

Caro amigo, peço, encarecidamente, que reveje a frase por você mesmo citada e constate uma certa contradição.

Ao mesmo tempo que você diz que a galera tem formas mais lógicas, você diz que a sua é simples (o que pode ser, mas não para novatos, assustando-os).

Digo e repito, para quem inicia, uma função demonstra uma ideia vaga sobre o assunto, busque dar exemplos mais intuitivos.

É apenas uma sugestão, contudo, poderás ignora-la e continuar como bem entender.

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com certeza amigo, todo mundo sabe que aqui no fórum tem o método de pesquisa, mas em todo lugar que for procurar ajuda, lhe garanto que um bom e velho exemplo de codigo ajuda muito sim. até porque procurei montar uma função muito simples, que qualquer um entende ...

 

Se algum moderador quiser fechar este tópico, pra evitar que essa discussão se prolonge, já que a duvida do colega foi resolvida mesmo ...

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.