Jump to content
Fórum Script Brasil
  • 0

Ajuda Num Código De Autentificação


wrn

Question

O Código que copiei aqui mesmo no fórum é esse:

<?php

function buildUsers($file)

{

  $linhas = file($file);

  foreach ($linhas as $linha)

  {

      $slice = explode(":", $linha);

      $array[$slice[0]] = substr($slice[1], 0, strlen($slice[1]) - 1);

  }

  return $array;

}

if (!isset($_SERVER['PHP_AUTH_USER'])) {

  header("WWW-Authenticate: Basic realm=\"PHP Auth\"");

  header("HTTP/1.0 401 Unauthorized");

  echo "Erro 401: Você não tem autorização para visualizar essa página";

  exit;

} else {

  $users = buildUsers("user.txt");

  if ($users[$_SERVER['PHP_AUTH_USER']] == $_SERVER['PHP_AUTH_PW'])

  {

      print "Olá {$_SERVER['PHP_AUTH_USER']}, seja bem vindo!<br>\nVocê esta dentro";

  }

  else

  {

      header("WWW-Authenticate: Basic realm=\"PHP Auth\"");

      header("HTTP/1.0 401 Unauthorized");

      echo "Erro 401: Você não tem autorização para visualizar essa página";

      exit;

  }

}

?>

Ele grava os usuários e senhas num txt: user.txt

coloca USER:SENHA

Mas num funcionou.... o que tem de errado?

Link to comment
Share on other sites

10 answers to this question

Recommended Posts

  • 0

Eu fiz um, veja:

usuarios.php

<?

$usuario[1]="gladisson|1234";

$usuario[2]="teste|4321";

?>

atenticacao.php

<?

   include "usuarios.php";

  

   for($i=1; $i<count($usuario)+1; $i++)

   {

   $ver = explode("|",$usuario[$i]);

   if ($PHP_AUTH_USER==$ver[0] AND $PHP_AUTH_PW==$ver[1]){$s=0;}

   }

  

   if(!isset($s)){

   header("WWW-Authenticate: Basic realm=\"PHP AuToSG\"");

   header("HTTP/1.0 401 Unauthorized");

   $msg = "Erro 401: Você não tem autorização para visualizar essa página";

  echo "<B>".$msg."</B>";

   exit;

   }

   else

   {

/*****************************************************/

   print "Olá ".$PHP_AUTH_USER.", seja bem vindo!";

   // Coloque o restante de sua página aqui!

   // pode ser um include("sua_pagina.php");

/****************************************************/

   }

?>

Vou por na parte de Scripts !

Link to comment
Share on other sites

  • 0

Eu consegui adaptar um mas num tem logout.....

arquivo user.txt

wrnbr|130684

wrn|1984

arquivo index.php

<?php

$Arquivo= "user.txt";

$arquivo=file($Arquivo);

foreach($arquivo as $linha) {

list($username,$password)=explode("|", $linha);

}

if ($PHP_AUTH_USER != $username || $PHP_AUTH_PW != $password)

{

  header("WWW-Authenticate: basic realm='Área protegida por senha'");

  header("HTTP/1.0 401 Unauthorized");

  echo "você não validou login e senha!\n"; //login inválido

  exit;

}

else

  {

?>

Coloque aqui o conteúdo de seu site!

<?php

  }

?>

Achei um código e adaptei para usar um txt como base de dados de usuários....

O sistema que você fez Gladisson funcionou corretamente e também não tem logout.... como eu faço o logout?

Link to comment
Share on other sites

  • 0

Bom, então !

Esse tipo de sistema o logout, acontece quando você fecha o navegador.

Caso você queria fazer um faz isso (Mais acho que não fica legal):

if($logout==1){

  header("WWW-Authenticate: Basic realm=\"PHP AuToSG\"");

  header("HTTP/1.0 401 Unauthorized");

  }

acesse:

?logout=1

Ai clique em cancelar 3 vez e pronto. (Mais assim não fica bem apresentavel.)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652.1k
×
×
  • Create New...