elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Protejer página con php
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Protejer página con php  (Leído 7,041 veces)
Marciano_79

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Protejer página con php
« en: 16 Septiembre 2016, 17:18 pm »

Hola estimados… quiero pedir de vuestra ayuda, para poder darle seguridad a una página que tiene un panel de control… para esto he creado un formulario de inicio de sesión, en la cual todo me funciona muy bien (completamente testado) ingreso sin problemas … como así la sesión queda bien cerrada… el problema surge que se puede entrar a la página de admin por la URL saltándose el login solo escribiendo la ruta… me gustaría crear una función que no permita esto y que cuando se intente, este redirija a mi index donde tengo el formulario para iniciar sesión…  la verdad no tengo idea de cómo se hace… he leído de todo pero aun no puedo entender cómo se realiza… favor si alguien puede echarme una mano… dejo mi códigos a usar.

INDEX.PHP (en esta misma página tengo el formulario de ingreso)

Código
  1. sec_session_start();
  2.  
  3. if(isset($_SESSION["username"])){
  4. header("Location: ver.php");
  5. }
  6.  
  7. if(!empty($_POST))
  8. {
  9. $email = mysqli_real_escape_string($cnx,$_POST['email']);
  10. $password = mysqli_real_escape_string($cnx,$_POST['pass']);
  11. $error = '';
  12.  
  13. $sha1_pass = sha1($password);
  14.  
  15. $consulta = "SELECT NOMBRE FROM usuario_admin WHERE EMAIL = '$email' AND PASSWORD = '$sha1_pass'";
  16. $result=$cnx->query($consulta);
  17. $rows = $result->num_rows;
  18.  
  19. if($rows > 0) {
  20. $row = $result->fetch_assoc();
  21. $_SESSION['username'] = $row['NOMBRE'];
  22. $_SESSION['password'] = $row['PASSWORD'];
  23.  
  24. header("location: ver.php");
  25. } else {
  26. $error = "El nombre o contraseña son incorrectos";
  27. }
  28. }
  29.  

FUNCIONES.PHP

Código
  1. function sec_session_start() {
  2.    $session_admin_panel = 'username';  
  3.    $secure = "SECURE";
  4.  
  5.    // detiene javascript al  acceso de la sesion id.
  6.    $httponly = true;
  7.  
  8.    // fuerza la sesion al uso de cookies
  9.    if (ini_set('session.use_only_cookies', 1) === FALSE) {
  10.        header("Location: ../index.php");
  11.        exit();
  12.    }
  13.  
  14.  
  15.    $cookieParams = session_get_cookie_params();
  16.    session_set_cookie_params($cookieParams["lifetime"],
  17. $cookieParams["path"],
  18. $cookieParams["domain"],
  19. $secure,
  20. $httponly);
  21.  
  22.  
  23.    session_name($session_admin_panel);
  24.  
  25.    session_start();            // inicia la sesion
  26.    session_regenerate_id();    // regenera la sesion.
  27. }
  28.  

Estos son los archivos que manejo hasta el momento, pero como decía, necesito una función que proteja el acceso a la página ver.php y que obligué hacer login… como puedo hacer esto? Muy agradecido de antemano a quien me quiera ayudar.. gracias.!


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Protejer página con php
« Respuesta #1 en: 16 Septiembre 2016, 17:29 pm »

En cada sección de la web debes verificar si la sesión se inició apropiadamente, si no, header redirect + exit()


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Marciano_79

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: Protejer página con php
« Respuesta #2 en: 16 Septiembre 2016, 17:44 pm »

Hola gracias por responder.. lo que me indicas lo comprendo pero nose como crear en si la funcion.. intento crear algo así pero se que no estoy ni cerca..

FUNCIONES.PHP

Código
  1. function login_check($cnx) {
  2.  
  3.    if (isset($_SESSION['username'], $_SESSION['password']) == true) {
  4.        header("Location: ver.php");
  5.        exit();
  6. }else {
  7.           header("Location: index.php");
  8.        exit();
  9.       }
  10. }

y en la pagina VER.PHP

Código
  1. if (login_check($cnx) == true) : ?>
  2. <p>Bienvenido <?php echo htmlentities($_SESSION['username']); ?>!</p>
  3. <?php else : ?>
  4.            <p>
  5.                <span class="error">Usted no esta autorizado para ver esta página.</span> Favor <a href="index.php">Use el registro</a>.
  6.            </p>
  7.        <?php endif; ?>

he lo que conseguido leyendo algunas cosas por internet.. pero no consigo lograrlo.. soy muy novato  en esto..

En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Protejer página con php
« Respuesta #3 en: 16 Septiembre 2016, 17:56 pm »

Como haces el logout? Probablemente no estés limpiando las variables

Por que no usas el metodo predefinidos de PHP para el manejo de sesiones?
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Marciano_79

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: Protejer página con php
« Respuesta #4 en: 16 Septiembre 2016, 18:10 pm »

Dentro de VER.PHP llamo con un include aun archivo CABECERA.PHP donde tengo el botón cerrar sesión..

Código
  1.    session_destroy();
  2.  
  3.    header("Location: ../index.php");
  4. exit();

ahora sobre metodo predefinidos ni idea de eso amigo... Ahora crees que deba cambiar algo? la verdad estoy re perdido... saludos.!!
En línea

Marciano_79

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: Protejer página con php
« Respuesta #5 en: 16 Septiembre 2016, 18:18 pm »

Bueno ahora logre hacer que la pagina no se ingrese por la url.. pero ahora no me reconoce el login.. no me deja ingresar por user ni pass.. que podrá ser?
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Protejer página con php
« Respuesta #6 en: 16 Septiembre 2016, 19:33 pm »

Session_destroy segun PHP.net dice (puedes hacer click en tu código arriba y te llevará )

Citar
session_destroy() destruye toda la información asociada con la sesión actual. .

Para destruir la sesión completamente, como desconectar al usuario, el id de sesión también debe ser destruido. Si se usa una cookie para propagar el id de sesión (comportamiento por defecto), entonces la cookie de sesión se debe borrar. setcookie() se puede usar para eso.

Siempre debes leer la documentacion en caso de error
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Marciano_79

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: Protejer página con php
« Respuesta #7 en: 16 Septiembre 2016, 19:51 pm »

si.. le he incluido
Código
  1. setcookie(session_name(),'', $params["path"], $params["domain"], $params["secure"], $params["httponly"]);
al archivo logout.php...

pero no entiendo porque ahora no puedo ingresar con mis datos de registro... busco el porque pero no veo porque no puedo ingresar.. no he tocado nada excepto la función para proteger la pagina que he creado... no entiendo realmente.. puedes darme una mano para ver que falla porfavor?
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Protejer página con php
« Respuesta #8 en: 16 Septiembre 2016, 20:02 pm »

Retorna todo los cambios y en cerrar session hacer un foreach a las valiables de session y las seteas a Null
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Marciano_79

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: Protejer página con php
« Respuesta #9 en: 16 Septiembre 2016, 20:27 pm »

  :-( bueno ahí me matastes realmente.. ni idea de como hacer eso.. gracias igual por tu tiempo, veré que encuentro por google.. saludos!!
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
protejer cd multimedia
Multimedia
shimonx 1 2,253 Último mensaje 27 Octubre 2007, 12:08 pm
por Sourraund
¿Como protejer streaming online?
Seguridad
Cergath 5 2,986 Último mensaje 25 Mayo 2012, 12:38 pm
por Saberuneko
como puedo protejer bien
Ingeniería Inversa
General Dmitry Vergadoski 2 2,132 Último mensaje 1 Octubre 2014, 16:36 pm
por tincopasan
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines