Estamos haciendo una actualización y mejora de usabilidad en el foro, es posible que algunas opciones tarden en verse afectadas, cualquier sugerencia será bienvenida para su mejora. Podéis indicarlas y se mirarán de implementar enviándolas al correo info@pcfanaatico.com o a través de la sección de contacto
Scripts prefabricados para armar blogs/foros y otros tipos de web. Source codes completos y en desarrollo.
  • Avatar de Usuario
#10440
Como proteger una página web con contraseña con PHP
Códigos para crear una página totalmente protegida y segura. Bloquear e impedir el acceso usando un password en MD5. Proteger formularios de la inyección de código SQL o XSS (cross-site scripting)

Imagen

En ciertas ocasiones necesitamos tener una página en nuestro servidor web protegida, a la que solo tengamos acceso nosotros u otra personas especifica.
Es necesario si en ella almacenamos información personal o formularios que necesitamos tener a salvo de la inyección de código SQL o XSS (cross-site scripting)
La mejor opción es protegerla con una contraseña, de esa forma podemos impedir que cualquiera pueda acceder a su contenido.
Es algo sencillo si creamos esta página en PHP.
PHP es un lenguaje que funciona del lado del servidor, por lo que es imposible conocer el código desde el navegador, aunque usemos la popular función de "Ver el código fuente".


Códigos para una página de internet protegida con contraseña
Hay varias opciones para crear una página de esta forma, compartimos tres formas de hacerlo:
1- En el primer código que mostramos se una contraseña normal.
2- En el segundo código se usa una contraseña encriptada en MD5.
3- En el tercer código además de la contraseña encriptada es posible crear una sesión en el navegador y cerrarla al terminar.


Página protegida con contraseña sencilla
El primer código es el más sencillo, solo se necesita copiarlo, pegarlo en un documento de texto y guardar el archivo con la extensión PHP.
A continuación sustituir la contraseña que en este ejemplo es: 123456, por una lógicamente más segura.
En el área de Contenido protegido, se puede insertar texto o código HTML.
Solo se mostrara si se inserta la contraseña correcta.
Finalmente subir el archivo al servidor web.
Código: Seleccionar todo
<?php 
$password = "123456";
if ($_POST['password'] != $password) { 
?>
<h2>Logueate</h2>
<form name="form" method="post" action="">
<input type="password" name="password"><br>
<input type="submit" value="Login"></form>
<?php 
}else{
?>
Contenido protegido
<?php 
} 
?>

Página protegida con contraseña encriptada en MD5
Usar una contraseña encriptada en MD5 es una opción mucho más segura ya que los caracteres están encriptados y es más difícil de violentar.
Código: Seleccionar todo
<?php 
$password = "e10adc3949ba59abbe56e057f20f883e";
if (md5($_POST['password']) != $password) { 
?>
<h2>Logueate</h2>
<form name="form" method="post" action="">
<input type="password" name="password"><br>
<input type="submit" value="Login"></form>
<?php 
}else{
?>
Contenido protegido
<?php 
} 
?>

¿Qué es MD5?
MD5 es un algoritmo para encriptar y desencriptar texto usando PHP.
Burlar o forzar una contraseña ecriptada de esta forma es casi imposible.

¿Cómo encriptar texto en MD5?
Para encriptar texto o desencriptarlo podemos usar PHP.
Es algo sencillo, para eso previamente crea un archivo con el siguiente código y súbelo al servidor.
También puede hacerse si tienes Apache en un servidor local en la computadora.
Código: Seleccionar todo
<?php
/Encriptar password con MD5
$password = md5('SubiR189*');
echo "Password is:" .$password;
?>
Página con contraseña en MD5 y cierre de sesión
Abrir una sesión en el navegador puede ser muy útil cuando el contenido de la página requiere volverla a cargar y así evitamos tener que introducir la contraseña de nuevo en cada caso.
Al terminar solo necesitamos cerrar la sesión.
El siguiente código permite crear una página de esa forma.
Código: Seleccionar todo
<?php 
session_start();
$password = "e10adc3949ba59abbe56e057f20f883e";
if($_POST['password']){
    if(md5($_POST['password']) == $password){
        $_SESSION['password'] = "alm";
    }else{
        echo "<span style='color:red;font-weight:bold;'>La contraseña es incorrecta</span>";
    }}
if(!$_SESSION['password']){
?>
<h2>Logueate</h2>
Esta p&#225;gina tiene restringido el acceso<br>
<form style="margin:12px;" name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="password" name="password">
<input type="submit" name="Submit" value="Login!"></form>
<?php 
}else{
    if($_GET['desconectar']){
        session_destroy();
        exit("<span style='color:green;'>Haz sido desconectado correctamente</span>");
    }
?>
Bienvenido, aquí puedes situar todo el contenido que debe ser protegido.
Puede ser texto o código HTML.
Usa el enlace más abajo al terminar para cerrar la sesión.
Código: Seleccionar todo
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?desconectar=si">Desconectar</a>
<?php 
}
?>

https://images2.imgbox.com/1b/ff/6PDiDOd6_o.png […]

https://images2.imgbox.com/f7/09/D3WxZJhr_o.png […]

https://images2.imgbox.com/73/b5/egMRzlWU_o.jpg […]

https://images2.imgbox.com/3f/c0/Q4dj4tTB_o.jpg […]