Autor Tópico: [Ajuda] PHP  (Lida 1274 vezes)

flipex

  • Novato
  • *
  • Mensagens: 4
  • Karma: 0
    • Ver Perfil
[Ajuda] PHP
« em: Janeiro 07, 2009, 03:28:50 »
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????  



cenourinha

  • Administrador
  • Heroi da Nação
  • *****
  • Mensagens: 13032
  • Karma: 16
    • Ver Perfil
    • WebTuga
[Ajuda] PHP
« Responder #1 em: Janeiro 09, 2009, 11:32:37 »
Uma protection como assim? Podes ser mais especifico? Queres encriptar o código?
Always know if the juice is worth the squeeze

GetHost4You - Alojamento Gratuito PHP + MySql
WebTuga Hosting - Alojamento Profissional PHP + MySql

hfca

  • Membro Pro
  • Geek
  • ****
  • Mensagens: 110
  • Karma: 0
    • Ver Perfil
    • http://humbertotarouca.no.sapo.pt
[Ajuda] PHP
« Responder #2 em: Janeiro 10, 2009, 11:54:02 »
o mais facil é usares includes, o que queres dizer com protection? com os includes não conseguem sacar o teu codigo facilmente ok?

flipex

  • Novato
  • *
  • Mensagens: 4
  • Karma: 0
    • Ver Perfil
[Ajuda] PHP
« Responder #3 em: Janeiro 13, 2009, 03:19:29 »
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

  • Membro Pro
  • Geek
  • ****
  • Mensagens: 110
  • Karma: 0
    • Ver Perfil
    • http://humbertotarouca.no.sapo.pt
[Ajuda] PHP
« Responder #4 em: Janeiro 13, 2009, 03:59:57 »
inclui seções, procura aqui

XsTeAl

  • Membro Pro
  • Heroi da Nação
  • ****
  • Mensagens: 653
  • Karma: 0
    • Ver Perfil
    • http://www.gud.us/en/?xsteal
[Ajuda] PHP
« Responder #5 em: Janeiro 13, 2009, 06:49:51 »
Citação de: 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????


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

flipex

  • Novato
  • *
  • Mensagens: 4
  • Karma: 0
    • Ver Perfil
[Ajuda] PHP
« Responder #6 em: Janeiro 13, 2009, 08:24:53 »
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

  • Membro Pro
  • Junior
  • ****
  • Mensagens: 83
  • Karma: 0
    • Ver Perfil
    • http://
[Ajuda] PHP
« Responder #7 em: Janeiro 13, 2009, 09:12:48 »
Citação de: 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....

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

Código: [Seleccione]
// é 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

Código: [Seleccione]
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

  • Novato
  • *
  • Mensagens: 4
  • Karma: 0
    • Ver Perfil
[Ajuda] PHP
« Responder #8 em: Janeiro 13, 2009, 09:25:43 »
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