Ir para conteúdo
Fórum Script Brasil
  • 0

Proteção De Pagina


mabmaster

Pergunta

Crie um sistema de cadastro de dados de usuário(Nome,endereço,telefone etc...) Esta funcionando perfeitamente. Criei uma área restrita, onde com login(email) e senha, o usuário acessa seus dados especificos. Entretanto não está seguro. O usuário, quando está logado, consegue acessar os dados de outro usuário, inclusive alterando os dados.

//localhost/web/visualizacv.php?id=12

Digitando no campo de endereço outro numero ID , qualquer usuario pode ver os dados de outros usuários: Por exemplo://localhost/web/visualizacv.php?id=6

alguém pode me ajudar???? Obrigado!!!!

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Sou novato em PHP. Voce poderia detalhar como posso fazer isso, ou mesmo indicar algum tutorial? Agradeço a ajuda. Obrigado.

Coloque o ID do usuário logado numa variável da sessão e faça a verificação do ID dele. Caso o ID da URL seja diferente do ID dele na sessão, você bloqueia o acesso à página.

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Como você fez o sistema de login? Usando sessões? E como você está validando a sessão?

Você não criou um arquivo contendo mais ou menos isto?

<?php
if (!isset($_SESSION['login']) || !isset($_SESSION['senha']))
  header ("Location: login.php");
?>

Faça uma verificação assim para o ID da URL, comparando-a ao ID do usuário, que vcoê salvará numa variável de sessão, por exemplo $_SESSION['id_aluno'].

Link para o comentário
Compartilhar em outros sites

  • 0

Beraldo: Crie uma SESSION VARIABLE usando como filtro o email cadastrado. Agora não aparece o id no campo de endereço do browser. Portanto quem está logado não pode acessar dados de outro usuário. Como não tenho certeza, estou postando o código da página login.php. Peço a gentileza de verificar se está seguro dessa forma. Agradeço muito a sua atenção. obrigado

<?php require_once('../../Connections/conexao_cadtalentos.php'); ?><?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
  session_start();
}

$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
  $_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset($_POST['email'])) {
  $loginUsername=$_POST['email'];
  $password=$_POST['senha'];
  $MM_fldUserAuthorization = "";
  $MM_redirectLoginSuccess = "meusdados.php";
  $MM_redirectLoginFailed = "erro.php";
  $MM_redirecttoReferrer = false;
  mysql_select_db($database_conexao_cadtalentos, $conexao_cadtalentos);
  
  $LoginRS__query=sprintf("SELECT email, senha FROM talentos WHERE email='%s' AND senha='%s'",
    get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password)); 
   
  $LoginRS = mysql_query($LoginRS__query, $conexao_cadtalentos) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
     $loginStrGroup = "";
    
    //declare two session variables and assign them
    $_SESSION['MM_Username'] = $loginUsername;
    $_SESSION['MM_UserGroup'] = $loginStrGroup;          

    if (isset($_SESSION['PrevUrl']) && false) {
      $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];    
    }
    header("Location: " . $MM_redirectLoginSuccess );
  }
  else {
    header("Location: ". $MM_redirectLoginFailed );
  }
}
?>
Como você fez o sistema de login? Usando sessões? E como você está validando a sessão? Você não criou um arquivo contendo mais ou menos isto?
<?php
if (!isset($_SESSION['login']) || !isset($_SESSION['senha']))
  header ("Location: login.php");
?>

Faça uma verificação assim para o ID da URL, comparando-a ao ID do usuário, que vcoê salvará numa variável de sessão, por exemplo $_SESSION['id_aluno'].

Link para o comentário
Compartilhar em outros sites

  • 0

Esse é o script para efetuar o login.

O que eu disse é que você precisa de um script para validar a sessão.

Seria mais ou menos isto:

if (!isset($_SESSION['MM_Username']) || !isset($_SESSION['senha']) || $_SESSION['id_user'] != $id_dele_no_bd){
  session_destroy();
  header ("Location: login.php");
}

você deve gravar a senha dele numa variável da sessão, juntamente com o ID dele, que você pegará do banco de dados.

Esse script você coloca (com require) em todos as páginas cujo acesso é restrito.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...