Copy Link
Add to Bookmark
Report

Kerozine 1-7: Un login en PHP o ASP

eZine's profile picture
Published in 
Kerozine
 · 2 years ago

En ésta oportunidad vamos a ver como hacer para proteger alguna sección de nuestro sitio web exclusiva para miembros, mediante un simple pero seguro y efectivo Script programado en ASP o PHP. Hasta hace un timepo la mayoría de los logins de los sites se hacían en CGI o HTML, pero éstos fueron diminuyendo gradualmente debido a su bajo grado de seguridad y su enorme cantidad de bugs y vulnerabilidades. Igualmente ahora vamos a hacer uno simple, sin base de datos, sino que con un login de mínima seguridad (mismo user y password para todos). El login se basa en 2 documentos o archivos, el primero (HTML) es en el cual se hallan las username y password boxes y el segundo documento (ASP o PHP) el que realiza la autenticación e indica el destino según el resultado de ésta.

Documento 1: Acá vamos a ver el código del simple formulario para el login, el cual es HTML puro, por lo que puede ponerse en cualquier servidor y luego hacer una llamada al PHP o ASP para realizar la autenticación.

<HTML> 
<HEAD>
<TITLE>Ingrese su User y contraseña </TITLE>
</HEAD>

<BODY BGCOLOR="#FFFFFF">
<FORM METHOD=POST ACTION="localizaciondel.asp_o_del.php">
User:<INPUT TYPE="text" NAME="user"><br>
Password:<INPUT TYPE="password" NAME="pass">
<INPUT TYPE="reset" value="Cancel"><INPUT TYPE="submit" value="Entrar">
</FORM>
</BODY>
</HTML>


Documento 2: este es el archivo más importante de todos, y puede ser tanto un ASP (para servidores con Windows NT) como un PHP (para servidores Apache). Acá abajo veremos el código de cada uno de ellos, que es tecnicamente muy pero muy simple, explicando que sucede en cada línea de código. Editar el código preferentemente con NotePad o Wordpad y guardar con atributos sólo texto.

ASP: autent.asp

<% 
'se declaran las variables
dim id, pass
'se definen las variables
user=request.form("user")
pass=request.form("pass")
'se crea una condicion que compara los datos enviados por el formulario
'y si son iguales a los ya puestos como correctos muestra una pagina y
'si son incorrectos muestra otra
if user="usuario" and pass="password" then
%>
<!-- Aca va el html de tu sitio si el password es correcto -->
<HTML>
<HEAD>
<TITLE> EL PASSWORD ES CORRECTO</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<font color="#000000" size="2" face="verdana">El password es correcto</font>
</BODY>
</HTML>
<% else %>
<!-- Si no es correcto lo que quieras decir va acá -->
<HTML>
<HEAD>
<TITLE> EL PASSWORD ES INCORRECTO</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<font color="#000000" size="2" face="verdana">El password es incorrecto</font>
</BODY>
</HTML>
<% end if %>


PHP: autent.php

<? 
//se declaran las variables
//se definen las variables
$user=$HTTP_POST_VARS["user"];
$pass=$HTTP_POST_VARS["pass"];
//se crea una condicion que compara los datos enviados por el formulario
//y si son iguales a los ya puestos como correctos muestra una pagina y
//si son incorrectos muestra otra
if ($user=="usuario" && $pass=="password")
{

?>
<!-- Aca va el html de tu sitio si el password es correcto-->
<HTML>
<HEAD>
<TITLE> EL PASSWORD ES CORRECTO</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<font color="#000000" size="2" face="verdana">El password es correcto</font>
</BODY>
</HTML>
<!-- Aca termina el html de tu sitio si el password es correcto-->
<? }
else
{
?>
<!-- Si no es correcto lo que quieras decir va acá -->
<HTML>
<HEAD>
<TITLE> EL PASSWORD ES INCORRECTO</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<font color="#000000" size="2" face="verdana">El password es incorrecto</font>
</BODY>
</HTML>
<!-- Si no es correcto lo que quieras decir va arriba -->
<? } ?>


TESTEO:

Para testear el login antes de subirlo a Internet deberán tener instalado dependiendo del lenguaje usado, ASP o PHP, el Personal Web Server o el Internet Information server de microsoft o el Apache para Linux, BSD o la plataforma que sea respectivamente. Igualmente lo más recomendable es ir probándolo directamente en nuestro servidor web, ya que la instalación del PWS o Apache en nuestra PC, nos hace correr un gran riesgo, más en el caso del PWS por su baja seguridad y gran cantidad de vulnerabilidades, como ya es común en los productos de nuestro amigo Billi Puertas.

INSTALACION Y SEGURIDAD:

Desde el punto de vista de seguridad, el login no presenta ningún bug conocido hasta el momento y ha sido sujeto a varios testeos y pruebas de seguridad, incluyendo un desafío presentado en el web site de Hackemate (Http://www.hackemate.com.ar) en el que se desafiaba a hackear el login (en su versión PHP), y este resultó inhackeable, sin ganadores, entre unos más o menos 800 participantes según los logs.

La única forma de hacerle un bypass o "saltar" el login sería hackeando el servidor y viendo el código fuente de los ASP o PHPs, pero eso es tema del servidor y no es influído por este scripting login.

Una tool de ayuda:

*ASP 2 PHP -----> este programita nos convierte códigos fuentes asp en PHP.

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT