[Ajuda] PHP

Started by flipex, January 07, 2009, 03:28:50 PM

Previous topic - Next topic

flipex

ola!!!
eu fiz uma pagina em php e agora necessito de fazer uma protection, e não estou a conseguir algum me pode dar uma ajuda????

Teotónio Ricardo

Uma protection como assim? Podes ser mais especifico? Queres encriptar o código?

hfca

o mais facil é usares includes, o que queres dizer com protection? com os includes não conseguem sacar o teu codigo facilmente ok?

flipex

tipo eu tenho um área de administração que e preciso estar logado para aceder...
e eu senão estiver uma protecçao, consigo entrar la pelos links...

ja esta melhor????

hfca

inclui seções, procura aqui

XsTeAl

Quote from: flipextipo eu tenho um área de administração que e preciso estar logado para aceder...
e eu senão estiver uma protecçao, consigo entrar la pelos links...

ja esta melhor????


uma pessoa tenta ajudar e tu ainda vens com "ja esta melhor???" por amor da santa....

flipex

ahahhaha lolada...

só disse isso porque em cima não estavam a preceder o que pedia!!

e por isso que disse isso pois se ainda não e perceber eu vou me esforçar mais....

ilovehentai

Quote from: flipexahahhaha lolada...

só disse isso porque em cima não estavam a preceder o que pedia!!

e por isso que disse isso pois se ainda não e perceber eu vou me esforçar mais....

Um concelho que te posso dar é que nunca tenhas pressa em escrever quando precisas de ajuda, quanto mais informação forneceres melhor será a ajuda    

Bem agora em relação ao teu problema, o que necessitas é de uma sessão, tão simples como isso.

Aqui o manual de Sessões do PHP -> http://pt.php.net/session

Basicamente cada vez que alguém se logar no teu site este irá criar uma sessão, uma sessão na sua origem é um pequeno ficheiro no servidor com um identificador único, ou seja quando me logar o sistema irá criar um ficheiro com um id único que me irá identificar, a sessão poderás acrescentar valores. O que precisas de fazer é de verificar se essa sessão existe e se pertence a quem se logou, senão redirecciona para uma página por defeito.

Imagina que tens um formulário com um campo de login, username e password, esse form envia os dados por post então temos

// é necessário criar um validação qualquer primeiro dos valores, vamos partir do princípio que foram bem preenchidos
$username = $_POST['username'];
$pass = $_POST['password'];

//Partindo do principio que uma conexao foi feita a base de dados atraves do objecto mysqli preparamos a query que irá procurar o utilizador
$stmt = $mysqli->prepare("SELECT * FROM users WHERE username=? AND password=?");
//Passamos os dois parametros
$stmt->bind_param("ss", $username, $pass);
//Executamos
$stmt->execute();
//Guardamos o resultado
$stmt->store_result();
//se existir deverá retornar apenas 1 resultado
$existes = $stmt->num_rows;
$stmt->close();

//1 é equivalente a true, logo se $exists for true
if($exists){

  criamos a sessão
  session_start();
 
  //criamos uma nova variável de sessão
  $_SESSION['username'] = $username;
 

}

agora temos permanentemente uma variável de sessão chamada username com o valor do username logado, basta fazer a validação nos ficheiros que queremos securizar

session_start();


if((!isset($_SESSION['username'])) || (empty($_SESSION['username'] ))){

  header("Location:http://www.meusite.com/index.php?access=denied");
  exit;

}

Esta é a forma mais simples e rápida de fazer este tipo de acessos limitados a certas páginas.

Qualquer coisa lê mais acerca de sessões e procura saber mais sobre o objecto mysqli.

Espero ter ajudado. Fiquem bem.

flipex

ajudaste sim eu vou ver agora o exemplo a funcionar e vou ler um pouco mais sobre as sessões!!!!
pois fazer uma administração sem isto é como não tivesse nada a impedir (nem o login safa),o que torna uma pagina fácil de aceder a espaços restritos...

obrigado