[PHP Class] Loginow 0.2 By Doddy H

Iniciado por BigBear, 7 Octubre 2011, 01:21 AM

0 Miembros y 1 Visitante están viendo este tema.

BigBear

Hola a todos.

Acabo de hacer mi primer clase en PHP , esta sirve
para realizar logins a webs con las sig opciones


* extrae valores del formulario para realizar la verificacion
* login mediante DB
* login mediante una contraseña md5 marcada por ustedes
* Si el login es exitoso crea una cookie

No eh alcando a probarla hasta fondo
Pero  aca tienen un ejemplo de como usarla


test.php



include_once("loginow.php");

if (isset($_POST['mandar'])) {
$nave = new loginow;
$nave->campos("usuario","password");
//if ($nave->secure("admin","098f6bcd4621d373cade4e832627b4f6")) {
if ($nave->database("localhost","root","","hackman","hackers","usuario","password")) {
$nave->cookienow("login");
echo "login correcto";
} else {
echo "Error en el login";
exit(1);
}
} else {
echo "
<form action='' method=POST>
Usuario : <input type=text name=usuario value=admin><br>
Password : <input type=text name=password value=test><br>
<input type=submit name=mandar value=mandar></form>";
}


Como ven usamos las funciones

campos(); # ponemos los nombres de las casillas user y pass para realizar la verificacion
secure(); #establecemos esta funcion para verificar mediante user y pass establecidos por nosotros
database(); #ponemos los datos de la DB y sus columnas para realizar la verificacion , claro la clase solo se basara en el primer casillero


loginow.php


<?php

/*

Simple Class for login of the webs

(c) DOddy Hackman 2010


*/

class loginow {

private 
$host;
private 
$db;
private 
$user;
private 
$pass;
private 
$tabla;
private 
$columna1;
private 
$columna2;
private 
$usereal;
private 
$passreal;
private 
$campouser;
private 
$campopass;
private 
$cookiename;

public 
function campos($campouser,$campopass) {
if (isset(
$_POST[$campouser])) {
$this->campouser $_POST[$campouser];
$this->campopass md5($_POST[$campopass]);
} else {
$this->campouser $campouser;
$this->campopass $campopass;
}
}

public function 
database($host,$dbuser,$dbpass,$db,$tabla,$columna1,$columna2) {
mysql_connect($host,$dbuser,$dbpass);
mysql_select_db($db);
$que mysql_query("SELECT * FROM ".$tabla);
while (
$test mysql_fetch_array($que)) {
if (
$this->campouser == $test[$columna1] and $this->campopass == $test[password]) {
$this->usereal $test[$columna1];
$this->passreal $test[$columna2];
return 
true;
}
}
}

public function 
secure($user,$pass) { 
if (
$this->campouser == $user and $this->campopass == $pass) {
$this->usereal $user;
$this->passreal $pass;
return 
true;
} else {
return 
false;
}
}

public function 
cookienow($cookiename) {
setcookie($cookiename,base64_encode($this->usereal."@".$this->passreal));
}

}

?>



Caulquier mejora , fallo o vulnerabilidad encontrada deben decirmelo para mejorar