Foro hardware en general, armado de pc gamers - servidores, guías, ayuda de reparación y más.

 
Avatar de Usuario
Nomak
Administrador del Sitio
Administrador del Sitio
Autor del post
Mensajes: 1377
Registrado: 31 Ene 2016, 19:13
Ubicación: Rosario
Contactar:

PHP - Página protegida con contraseña sencilla

31 May 2018, 14:51

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.

<?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.

<?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.

<?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.

<?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.

<a href="<?php echo $_SERVER['PHP_SELF']; ?>?desconectar=si">Desconectar</a>
<?php
}
?>


CPU: i7 6700K
Mobo: MSI z170a Gaming Pro
GPU: Asus Strix 980ti OC
RAM: DDR4 Gskill 2x8gb (16gb) Kit 3000mhz
Rigido: SSD Samsung 850 EVO 250GB / Wester Digital 2TB WD2003FZX (Black)
Refrigeración: Corsair Hydro Series™ H100i Extreme Performance
Fuente: EVGA SuperNOVA 850 G2
Gabinete: NZXT H440 Black Red
Monitor: 23" LG 23MP55HQ-P
Mouse: Razer Deathadder Chroma RGB
PAD: Corsair MM300 Medium 360 X 300
Auricular: Logitech G633
Teclado: Logitech G710+
Joystick: Xbox One + Adaptador Wireless
Silla: Arozzi Milano Gaming

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado