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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  proteger pagina con informacion de usuarios
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: proteger pagina con informacion de usuarios  (Leído 822 veces)
gAb1


Desconectado Desconectado

Mensajes: 731


Ver Perfil
proteger pagina con informacion de usuarios
« en: 1 Octubre 2014, 07:11 am »

Hola, tengo una pagina que muestra informacion de un usuario. Necesito protegerla para que no se pueda acceder a ella si no se cumplen dos requisitos, 1º estar logueado y 2º ser "amigo" de ese usuario.

Utilizo $_GET para saber la informacion que coger de la base de datos.

Hago un if para saber si esta definida la variable get y si el usuario está conectado, por ultimo compruebo si son amigos.

Código
  1. <?php
  2.  
  3. if(isset($_GET['id'], $_SESSION['user_id'])){
  4. printf("Connect failed: %s\n", mysqli_connect_error());
  5. exit();
  6. }
  7.  
  8. $id = $_GET['id'];
  9. $connectedUserID = $_SESSION['user_id'];
  10.  
  11. /* prepare statement */
  12. if ($stmt = $mysqli->prepare("SELECT COUNT(*) rowCount FROM friends WHERE friendID = ? AND userID = ?")) {
  13. $stmt->bind_param('ii', $id, $connectedUserID);
  14. $stmt->execute();
  15. /* bind variables to prepared statement */
  16. $stmt->bind_result($rowCount);
  17.  
  18. /* fetch values */
  19. if($stmt->fetch()) {
  20. if ($rowCount > 0) {
  21. // zona segura
  22. echo 'It works!';
  23. } else{
  24. echo $_SESSION['username'], ', no estás autorizado para ver la información de este socio ya que no es tu amigo...';
  25. }
  26. }
  27. /* close statement */
  28. $stmt->close();
  29. }
  30. /* close connection */
  31. $mysqli->close();
  32. } else {
  33. echo 'No estás autorizado para acceder a esta página';
  34.  
  35. if (login_check($mysqli) == false) {
  36. echo '. Por favor, <a href="login">inicia sesión</a>.';
  37. } else{
  38. echo ' '.$_SESSION['username'];
  39. }
  40. }
  41. ?>

Me gustaría saber si es igual de seguro comprobar isset($_SESSION['user_id']) o hacer un login_check == true.

Gracias!


« Última modificación: 1 Octubre 2014, 09:58 am por gAb1 » En línea

JorgeEMX
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.615



Ver Perfil WWW
Re: proteger pagina con informacion de usuarios
« Respuesta #1 en: 2 Octubre 2014, 06:01 am »

Cuidado al usar isset, puede arrojarte falsos positivos. Isset sólo comprueba que exista la variable y que no sea NULO. Si la variable por ejemplo contiene un string vacio te regresará true.

Por otra parte, sería bueno comparar las variables ahí mismo si son enteras y no dejarle el trabajo a msqli. Con un $var > 0 bastaría.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Proteger pagina con PHP « 1 2 »
PHP
jamarchi 12 3,144 Último mensaje 9 Enero 2007, 06:23 am
por jamarchi
Phound!, la aplicación de Kaspersky localizar y proteger información del ...
Noticias
wolfbcn 0 878 Último mensaje 27 Marzo 2015, 02:18 am
por wolfbcn
Cinco maneras de generar información desechable para proteger tu identidad en...
Noticias
wolfbcn 0 1,404 Último mensaje 21 Enero 2017, 14:18 pm
por wolfbcn
Como puedo proteger la informacion de mi usb
Software
cat Black 2 213 Último mensaje 17 Agosto 2018, 12:39 pm
por animanegra
necesito proteger mi informacion
Seguridad
electrorock 7 1,215 Último mensaje 6 Junio 2019, 17:18 pm
por @XSStringManolo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines