Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
Andrer757

duvidas no meu sistema de login

Recommended Posts

Andrer757

boas pessoal eu ainda apesar de ja ter feito algumas paginas em php tive muita ajuda e por isso as vezes ainda ando um pouco a nora com o código, como agora :S.

o meu problema é o seguinte no meu sistema de login a password não é sensível a maiúsculas e minúsculas e não sei como fazer.

o código é este:

<?php require_once('connections/ardb.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['user'])) {
  $loginUsername=$_POST['user'];
  $password=$_POST['pass'];
  $MM_fldUserAuthorization = "nivel";
  $MM_redirectLoginSuccess = "index2.php";
  $MM_redirectLoginFailed = "index.php?erro=1";
  $MM_redirecttoReferrer = true;
  mysql_select_db($database_ardb, $ardb);
  	
  $LoginRS__query="SELECT user, pass, nivel FROM ar_convidados WHERE user='$loginUsername' AND pass='$password'";
  $LoginRS = mysql_query($LoginRS__query, $ardb) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
    
    $loginStrGroup  = mysql_result($LoginRS,0,'nivel');
    
    //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 );
  }
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Login</title>
  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />

  <!-- **** layout stylesheet **** -->
  <link rel="stylesheet" type="text/css" href="style/style.css" />

  <!-- **** colour scheme stylesheet **** -->
  <link rel="stylesheet" type="text/css" href="style/colour.css" />
</head>
<body>
<div id="login" align="center">
<h3 align="center">Login</h3>
<?php
if ($_GET['erro']==1) {
echo "Login ou password incorrectos.<br /><br />";
}
if ($_GET['erro']==2) {
echo "Não tens premição para aceder a essa pagina fax 1º o login.<br /><br />";
}
if ($_GET['sucesso']==1) {
echo "Logout feito com sucesso.<br /><br />";
}
?>
<strong>Se tens convite para entrar fax login aqui.</strong><br /><br />
<form name="formlogin" method="POST" action="<?php echo $loginFormAction; ?>">
<table border="0" cellspacing="2" cellpadding="2">
  <tr>
    <th>Utilizador:</th>
    <td><input name="user" type="text" size="30" maxlength="50" /></td>
  </tr>
  <tr>
    <th>Password:</th>
    <td><input name="pass" type="password" size="30" maxlength="90" /></td>
  </tr>
  <tr>
  	<td colspan="2" align="right"><input name="submit" type="submit" value="Validar" /></td>
  </tr>
</table>
</form>
</div>
</body>
</html>

alguém me pode ajudar?

Obrigado

Share this post


Link to post
Share on other sites
Andrer757

boas,

o melhor é eu me explicar melhor a minha duvida :S

o meu problema é que na base de dados tenho passwords do tipo "bKYybR96YT" mas quando eu faço login na página, com esse código, se escrever a password só em minúsculas, "bkyybr96yt", ele entra na mesma e não devia.

desculpem estar a insistir mas estou com alguma urgência porque estou a fazer 3 sites ao mesmo tempo e preciso disto para os 3 :S

Obrigado

Share this post


Link to post
Share on other sites
Hipnoted

Podias era gerar uma hash para cada utilizador que se registasse e assim não tinhas as passwords em claro. Usa o md5 para cifrá-las, tens vários exemplos no fórum.

E atenção aos problemas de segurança, nomeadamente aos SQL injection.


"Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência"

Share this post


Link to post
Share on other sites
Andrer757

boas,

obrigado pela ajuda :P mas agora tenho outro problema e que ao usar o md5 ou o sha1 o meu script de recuperação de passwords não funciona :S

não existe forma de descodificar para recuperar uma password?

cumpz.

Share this post


Link to post
Share on other sites
Hipnoted

não existe forma de descodificar para recuperar uma password?

Os algoritmos que te indicamos são unidireccionais, ou seja, só encriptam a password.

Para recuperar uma password podias implementar tu o teu próprio algoritmo de cifra, mas isso seria inseguro para o utilizador. :P

O que os sites usam é enviar ao utilizador um link para o mail para ele meter uma nova password.


"Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência"

Share this post


Link to post
Share on other sites
Nazgulled

O que os sites usam é enviar ao utilizador um link para o mail para ele meter uma nova password.

Que é o que tu deves fazer... Ou então geras uma password nova, encriptas, actualizas o perfil do utilizador e mandas mail a notificar sobre isso.

Share this post


Link to post
Share on other sites
Gurzi

Não uses MD5, isso já está mais que inseguro. Usa SHA-1 ou mesmo SHA256.

Inseguro ?

Mostra exemplos por favor!

Continuo a usar md5!

Share this post


Link to post
Share on other sites
djthyrax

Não uses MD5, isso já está mais que inseguro. Usa SHA-1 ou mesmo SHA256.

Inseguro ?

Mostra exemplos por favor!

Continuo a usar md5!

http://en.wikipedia.org/wiki/MD5
In 1996, a flaw was found with the design of MD5; while it was not a clearly fatal weakness, cryptographers began to recommend using other algorithms, such as SHA-1 (which has meanwhile been found vulnerable itself). In 2004, more serious flaws were discovered making further use of the algorithm for security purposes questionable.

Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.