Foros del Web » Programando para Internet » Javascript » Frameworks JS »

manejo de sesiones en ajax

Estas en el tema de manejo de sesiones en ajax en el foro de Frameworks JS en Foros del Web. salu2 Tengo una pregunta es posible restirngir el acceso a una pajina (es decir restringir el contenido de una pajina digamos html o php ) ...
  #1 (permalink)  
Antiguo 22/08/2008, 16:48
 
Fecha de Ingreso: febrero-2007
Ubicación: Ecuador
Mensajes: 23
Antigüedad: 17 años, 2 meses
Puntos: 0
manejo de sesiones en ajax

salu2
Tengo una pregunta es posible restirngir el acceso a una pajina (es decir restringir el contenido de una pajina digamos html o php ) usando ajax lo siguiente:

Tengo un formulario de autentificacion , usando ajax recojo el id y el pass
ye envio los datos a un servlet alli si es correcto inicio la sesion asi:

Código HTML:
   HttpSession session = request.getSession(true); //creamos la sesion
                        session.setAttribute("usuario", resultado); //
                        session.setAttribute("rol", rol); //
asi pues la sesion esta iniciada y la tengo en mi navegador asi manejare el acceso a mis recursos de mi lado del servidor que estan en java.

lo que deseo es como ya inicie mi sesion y claro a traves de ajax en la funcion de retorno del

Código HTML:
ajax.onreadystatechange
redirecciono a mi pajina personal

asi:
Código HTML:
window.location = "menu.html";
ok parece un procedimiento correcto

pero si alguien conoce mi url de mi pagina podria acceder.

por supuesto que el contenido digamos en input no lo mostraria pues usaria mi sesion de java para impedir a los servlets devolver los datos.

pero no quiero que se muestren los inputs.

espero me entiendan.


una ultima pregunta una sesion implementada en java funciona en php?
  #2 (permalink)  
Antiguo 22/08/2008, 19:05
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: manejo de sesiones en ajax

Hola:

Creo que con php sería bastante sencillo... por ejemplo con una variable que vete el acceso y un include condicionado:

if ($acceso_vetado) include("index_malo.php");
else include("index_bueno.php");

No sé si es lo que quieres... y en el ejemplo puedes también usar ficheros html aunque la página principal sea php...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 29/08/2008, 09:16
 
Fecha de Ingreso: febrero-2007
Ubicación: Ecuador
Mensajes: 23
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: manejo de sesiones en ajax

hola resulta que he escogido manejar mi login con ajax y php siguiendo sus consejos por eso de las sesiones,
sin embargo mis varibales

Código HTML:
$_SESSION["_dmd_cedula"] = $respuesta;
que registro en mi archivo login.php
no aparecen en mi php panel.php

no se que pasa miren el codigo:primero tengo mi funcion ajax para loguearme
Código HTML:
function prosesarAutentifica()
{
	ajax = nuevoAjax();
	if (ajax) {
		var q ="email="+document.getElementById("txt_email").value +"&pass="+document.getElementById("txt_pass").value+"&rol=dmd&url="+ encodeURIComponent( document.URL) ;
	ajax.onreadystatechange = function ()
	{
	if (ajax.readyState == 4) {
		if (ajax.status == 200) {
			myString = new String(ajax.responseText);
			temp= myString.search("redirect");
			if (temp> 1 ) {
				window.location = "panel.php";
			}
			else{
				document.getElementById("mensajedmd").innerHTML = "Lo sentimos su email o constraseña";				
			}
		  }
        }
    }
;
	ajax.open("POST", getURL() + "login.php", true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send(q);
	
	}
}

en panel .php logueo e iteractuo con mi bdd:

Código HTML:
<? session_start();
 include("../XAJAX_registro.dmd.php");

     $valid_email = $HTTP_POST_VARS ["email"];
	 $valid_pass = $HTTP_POST_VARS ["pass"];
     $valid_rol = $HTTP_POST_VARS ["rol"];	
	 $valid_url = $HTTP_POST_VARS ["url"]; 
     //echo "variable no registrada";
	 
if ($valid_email && $valid_pass && $valid_rol && $valid_url)  //*************************************seguridad***************************************************
{   $newurl="";
	$frmlogin = array();
	$frmlogin["email"]=$valid_email;
	$frmlogin["pass"]=$valid_pass;
	$frmlogin["rol"]=$valid_rol;
	$frmlogin["url"]=$valid_url; 
    $respuesta= LOGINDMD( $frmlogin);
   if($respuesta == "-1z-1z")
   {
   	 $respuesta ="Lo sentimos revise su mail o password";
   }
   else{
   	$_SESSION["_dmd_cedula"] = $respuesta;
   	$newurl= "redirect:panel.php";

   }
  echo $newurl;
}
y finalmente creyendo que en mi sesion esta registrada la varible _dmd_cedula
me redirecciona a mi panel donde valido my sesion:

Código HTML:
 <? session_start();
   
  if (isset($_SESSION["_dmd_cedula"])){ 
   echo "variable registrada";
   }
   else
   {
	 
     echo "variable no registrada";
	} 

?> 
pero no encuentra mi variable e imprime "variable no registrada"

que esta mal el codigo sigue la regla de poner session_start();
primero
salu2
  #4 (permalink)  
Antiguo 29/08/2008, 09:28
 
Fecha de Ingreso: febrero-2007
Ubicación: Ecuador
Mensajes: 23
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: manejo de sesiones en ajax

saludos cinco minutos despues me doy cuenta de mi gran error sucede que encontre la solucion:
tengan cuidado con esta equivocacion
miren en el archivo php que llama a mi funcio de autentificacion en ajax es decir el php que invoca mi java script debe tener tambien la frasecilla bendita siguiente


<?php
session_start();
?>

es decir iteractuo

algo asi:

:::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::: (si logueo ok)
loguearse.php ------------> funciones.js------->login.php--------------->panel.php
:::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::: (else)
loguearse.php <------------------------------------------------
  #5 (permalink)  
Antiguo 29/08/2008, 09:30
 
Fecha de Ingreso: febrero-2007
Ubicación: Ecuador
Mensajes: 23
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: manejo de sesiones en ajax

espero sirva esta explicacion y forma de manejar sesiones a la comunidad


post solucionado
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:40.