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

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [Ayuda] Problemas con sesiones.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Ayuda] Problemas con sesiones.  (Leído 3,022 veces)
mastercss

Desconectado Desconectado

Mensajes: 36


Ver Perfil
[Ayuda] Problemas con sesiones.
« en: 20 Marzo 2013, 21:27 pm »

MI problema es el siguiente. No he cambiado absolutamente ningun trozo de de codigo de mi web, pero sin saber porque, la sesion o mejor dicho las variables de sesion no se guardan entre paginas.

Estoy desesperado la verdad.

Todo empieza con el archivo de login, que comprueba con la base de datos el usuario y la contraseña y en el caso de que sea correcto entonces crea cuatro variables de sesion, con los datos de ese usuario y redirige a profesionales.php. En profesionales compruebo la existencia de la variable de sesion usuario y si existe imprimo el codigo html y sino redirijo de nuevo a login.php.

Os pongo los codigos.

Login.php

Código
  1. <?php
  2.  
  3. if(isset($_SESSION['user'])){
  4. header("Location: profesionales.php");
  5. }
  6.  
  7. if($_POST){
  8. extract($_POST);
  9. include_once("includes/class.sql.php");
  10. include_once("includes/config.inc.php");
  11. include_once("includes/funciones.php");
  12.  
  13. $user=limpiar($user);
  14. $password=sha1($pass);
  15.  
  16. $sql=new sql($ip, $usuario, $pass, $db);
  17.  
  18. $respuesta=$sql->consultar("select * from usuarios where usuario='$user';");
  19.  
  20. if(!empty($respuesta)){
  21. if($user==$respuesta[0]['usuario'] && $password==$respuesta[0]['password']){
  22. $_SESSION['id']=$respuesta[0]['id'];
  23. $_SESSION['user']=$user;
  24. $_SESSION['pass']=$password;
  25. $_SESSION['auth_level']=$respuesta[0]['lvl_auth'];
  26.                        // Si aqui imprimo las variables de session recien creadas se muestran correctamente.
  27. echo "<script>location.href='profesionales.php'</script>";
  28. }else{
  29. echo "<script>alert('El usuario introducido o la contrase\u00f1a no son correctos');</script>";
  30. echo "<script>location.href='index.php?p=login'</script>";
  31. }
  32. }else{
  33. echo "<script>alert('El usuario introducido o la contrase\u00f1a no son correctos');</script>";
  34. echo "<script>location.href='index.php?p=login'</script>";
  35. }
  36.  
  37.  
  38. }else{
  39. ?>
  40. <br />
  41. <div id="acceso">
  42. <form method="post" action="login.php">
  43. Usuario<br />
  44. <input type="text" name="user" /><br />
  45. Password<br />
  46. <input type="password" name="pass" /><br /><br />
  47. <p align="center"><input type="submit" value="Entrar" class="button"></p>
  48. </form>
  49. </div>
  50.  
  51. <?php
  52. }
  53. ?>

profesionales.php

Código
  1. <?php
  2.  
  3. session_start(); //En la primera linea declaro el session_start()
  4.  
  5. include_once("includes/config.inc.php");
  6. include_once("includes/class.sql.php");
  7. include_once("includes/funciones.php");
  8.  
  9. $sql=new sql($ip, $usuario, $pass, $db);
  10.  
  11. $respuesta=$sql->consultar("SELECT * FROM presupuestos_usuarios");
  12.  
  13. $sql->cerrar();
  14.  
  15. unset($sql);
  16.  
  17. if(!isset($_SESSION['user'])){
  18. header("Location: login.php"); //Aqui al no detectar la sesion me redirige al login de nuevo.
  19. }else{
  20. ?>
  21. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  22. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es-es" lang="es-es">
  23. <head>
  24. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  25. <meta http-equiv="content-language" content="es_ES" />
  26. <meta charset="utf-8" /> <!-- Tipo de Codificación -->
  27. <title>Reformas y presupuestos</title>
  28. <style type="text/css">
  29. @import "css/profesionales.css";
  30. </style>
  31. </head>
  32. <body>
  33. <script src="js/jquery-1.8.3.js" type="text/javascript"></script>
  34. <script src="js/jquery.validate.js" type="text/javascript"></script>
  35. <script src="js/jquery.imagecube.js" type="text/javascript"></script>
  36. <script src="js/resizeLib.js" type="text/javascript" ></script>
  37. <script src="js/ajax.js" type="text/javascript" ></script>
  38. <script src="ckeditor/ckeditor.js" type="text/javascript" ></script>
  39. <script type="text/javascript" src="tiny_mce/tiny_mce.js"></script>
  40. <script>
  41.  
  42. jQuery(document).ready(function(){
  43. $(".filtro").bind('keypress', function(e) {
  44. if(e.keyCode==13){
  45. var n_parametros=0;
  46. var filtro="";
  47. if($("#comunidad").val() !=""){
  48. n_parametros++;
  49. if(n_parametros > 1){
  50. filtro +="&"+$("#comunidad")[0].id+"="+$("#comunidad")[0].value;
  51. }else{
  52. filtro +=$("#comunidad")[0].id+"="+$("#comunidad")[0].value;
  53. }
  54. }
  55.  
  56. if($("#localidad").val() !=""){
  57. n_parametros++;
  58. if(n_parametros > 1){
  59. filtro +="&"+$("#localidad")[0].id+"="+$("#localidad")[0].value;
  60. }else{
  61. filtro +=$("#localidad")[0].id+"="+$("#localidad")[0].value;
  62. }
  63. }
  64.  
  65. if($("#categoria").val() !=""){
  66. n_parametros++;
  67. if(n_parametros > 1){
  68. filtro +="&"+$("#categoria")[0].id+"="+$("#categoria")[0].value;
  69. }else{
  70. filtro +=$("#categoria")[0].id+"="+$("#categoria")[0].value;
  71. }
  72. }
  73.  
  74.  
  75. var respuesta = ajax("presupuestos_usuarios.php?"+filtro, "","GET");
  76. $("#principal").html(respuesta);
  77. }
  78. });
  79.  
  80. var respuesta_inicial=ajax("presupuestos_usuarios.php","","GET");
  81. $("#principal").html(respuesta_inicial);
  82. });
  83.  
  84. function ver(id_pre){
  85. var respuesta=ajax("ver_presupuesto.php?id="+id_pre,"","GET");
  86. $("#cuerpo").html(respuesta);
  87. }
  88.  
  89. function enviar(id_pre){
  90. var respuesta=ajax("dar_presupuesto.php?","id="+id_pre,"POST");
  91. $("#cuerpo").html(respuesta);
  92. }
  93.  
  94. </script>
  95. <div id="menu">
  96. <div id="logo">
  97. <a href="http://127.0.0.1/orocar/"><img src="images/logo.png" style="width: 100%; height: 100%" /></a>
  98. </div>
  99. <div id="menu-principal">
  100. <ul>
  101. <li type="disc" id="logout"><a href="index.php?p=logout">Cerrar Sesion</a></li>
  102. <li type="disc" id="presupuestos"><a href="profesionales.php">Presupuestos de Usuarios</a></li>
  103. <li type="disc" id="perfil"><a href="index.php?p=inicio">Inicio</a></li>
  104. </ul>
  105. </div>
  106. <div class="limpiar"></div>
  107. </div>
  108. <div id="cabecera">
  109. <div id="cabecera-content">
  110. <h1 id="titulo_pagina">Presupuestos recibidos</h1>
  111. </div>
  112. </div>
  113. <div id="cuerpo">
  114. <h2>Presupuestos solicitados por los usuarios</h2><br />
  115. <div style="width: 33.3%; float: left;">
  116. <label>Comunidad Autonoma</label><br /><br />
  117. <input type="text" style="width: 50%; height: 4%; font-size: 14px;" class="filtro" id="comunidad">
  118. </div>
  119. <div style="width: 33.3%; float: left; ">
  120. <label>Categoria</label><br /><br />
  121. <input type="text" style="width: 50%; height: 4%; font-size: 14px;" class="filtro" id="categoria">
  122. </div>
  123. <div style="width: 33.3%; float: left; ">
  124. <label>Localidad</label><br /><br />
  125. <input type="text" style="width: 50%; height: 4%; font-size: 14px;" class="filtro" id="localidad">
  126. </div>
  127. <div class="limpiar"></div>
  128. <div id="principal">
  129.  
  130. </div>
  131. </div>
  132. <div id="pie">
  133.  
  134. </div>
  135. </body>
  136. </html>
  137.  
  138. <?php
  139. }
  140. ?>


En línea

tecasoft


Desconectado Desconectado

Mensajes: 319

Ciberseguridad tecasoft.com


Ver Perfil WWW
Re: [Ayuda] Problemas con sesiones.
« Respuesta #1 en: 20 Marzo 2013, 21:49 pm »

yo veo en el archivo profesionales.php esta linea nose: <a href="http://127.0.0.1/orocar/

ademas mira haber si es el php.ini si guarda las session.cookie en el sitio , es decir si esta correctamente, ves x pasos, si dices que el codigo no lo has tocado piensa haber xk es, no te puedo ayudar mucho mas aya, lo siento


En línea

http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits
mastercss

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: [Ayuda] Problemas con sesiones.
« Respuesta #2 en: 20 Marzo 2013, 22:05 pm »

Desgraciadamente se programar en php y javascript pero no tengo ni idea de como mirar lo del php.ini. Si me indicas un poco el como estaria agradecido.
En línea

tecasoft


Desconectado Desconectado

Mensajes: 319

Ciberseguridad tecasoft.com


Ver Perfil WWW
Re: [Ayuda] Problemas con sesiones.
« Respuesta #3 en: 20 Marzo 2013, 22:43 pm »

x defecto te deberia de dejar, dices que en tu pc te funciona? y en el hosting de linux no te funciona? pos contacta con tu proveedor de hosting y que te digan que pasa con el php.ini o modificalo desde tu panel de control pero recuerda hacer copias de seguridad
« Última modificación: 20 Marzo 2013, 22:46 pm por tecasoft » En línea

http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits
mastercss

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: [Ayuda] Problemas con sesiones.
« Respuesta #4 en: 21 Marzo 2013, 03:52 am »

Bueno por algun extraño motivo he conseguido solucionar el problema. No he tenido que mirar el php.ini ni mucho menos, simplemente parece que el "XAMPP" viene con una version 5.4 de php y me obliga a utilizar la directiva session_register(). Para solucionarlo solo hice esto:

Código
  1. <?php
  2. session_register('usuario');
  3. $_SESSION['usuario']="Hola caracola";
  4. ?>

Por lo que he leido en la documentación de PHP es una funcion que va a desaparecer de PHP y aun asi en ese caso, estnado en un php 5.4 no deberia de tener problemas con declarar las variables de sesion sin esta funcion. Si alguien lo utiliza porque le pase lo mismo que sepa que asi tal cual la linea de session_register('usuario') da un error de "deprecated" o en via de desaparicion. Para solucionarlo basta con poner un "@" delante, es decir, @session_register('usuario').

Muchas gracias por la ayuda.
En línea

tecasoft


Desconectado Desconectado

Mensajes: 319

Ciberseguridad tecasoft.com


Ver Perfil WWW
Re: [Ayuda] Problemas con sesiones.
« Respuesta #5 en: 21 Marzo 2013, 20:30 pm »

pues eso no lo sabia yo, gracias a ti
En línea

http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda con sesiones y dreamweaver mx
PHP
Dannysoft 3 2,704 Último mensaje 11 Noviembre 2006, 11:41 am
por Ertai
ayuda con sesiones « 1 2 3 »
PHP
CARRY-ON 24 7,306 Último mensaje 11 Agosto 2007, 03:49 am
por дٳŦ٭
Intentando predecir sesiones.... ayuda!! « 1 2 »
Nivel Web
waizen 16 9,361 Último mensaje 6 Diciembre 2009, 23:38 pm
por Constantinoplero
Problemas al trabajar con sesiones
PHP
Servia 1 2,224 Último mensaje 5 Diciembre 2011, 17:58 pm
por [u]nsigned
Ayuda con gestión de sesiones y redirecciones WordPress
PHP
Snoosarp 1 2,405 Último mensaje 30 Junio 2017, 15:56 pm
por danny920825
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines