Sessions

mod_harbour is an Apache module that allows to run PRGs directly on the web !!!

Sessions

Postby luiscambuston » Tue Mar 03, 2020 5:57 pm

Hay alguna manera de recibir sessions o leer cookies?

Veo como recibir en el querystring, pero no me gusta exponer información en el URL.

GRACIAS
luiscambuston
 
Posts: 22
Joined: Mon Mar 02, 2020 12:00 am

Re: Sessions

Postby luiscambuston » Tue Mar 03, 2020 6:19 pm

Tengo una aplicación en clásico ASP.
En sus páginas guardo información en cookies.
En un PRG ejecuto la siguiente función y no puedo leer ninguna cookie.
¿Es así por diseño?


function GetCookies()

local hHeadersIn := AP_HeadersIn()
local cCookies := If( hb_HHasKey( hHeadersIn, "Cookie" ), hb_hGet( hHeadersIn, "Cookie" ), "" )
local aCookies := hb_aTokens( cCookies, ";" )
local cCookie, hCookies := {=>}

for each cCookie in aCookies
hb_HSet( hCookies, SubStr( cCookie, 1, At( "=", cCookie ) - 1 ),;
SubStr( cCookie, At( "=", cCookie ) + 1 ) )
next

return hCookies
luiscambuston
 
Posts: 22
Joined: Mon Mar 02, 2020 12:00 am

Re: Sessions

Postby luiscambuston » Tue Mar 03, 2020 6:33 pm

Mi problema es que pasar parámetros en el URL hace muy fácil cambiarlos....

En Classic ASP encuentro Server.URLEncode()

¿Hay alguna función en Mod_Harbour para leer ésta información?
luiscambuston
 
Posts: 22
Joined: Mon Mar 02, 2020 12:00 am

Re: Sessions

Postby luiscambuston » Tue Mar 03, 2020 6:47 pm

Disculpen tantos comentarios....

Leo que las cookies deben estar disponibles.

Ejecute la function SetCookie en los ejemplos, trato de leerla y no regresa nada....

¿Será un problema al leer cualquier cookie?

GRACIAS
luiscambuston
 
Posts: 22
Joined: Mon Mar 02, 2020 12:00 am

Re: Sessions

Postby Antonio Linares » Tue Mar 03, 2020 6:52 pm

regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42099
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Sessions

Postby luiscambuston » Tue Mar 03, 2020 7:37 pm

Antonio,

¡Muchas gracias!

Combine ambas funciones y no puedo leer la galleta.

Estoy usando IIS en Windows.

Esta es la respuesta

cookie created!

cookies: {""=>""}
luiscambuston
 
Posts: 22
Joined: Mon Mar 02, 2020 12:00 am

Re: Sessions

Postby Antonio Linares » Tue Mar 03, 2020 11:02 pm

Luis,

Estamos implementando unas funciones que faltan en mod_harbour IIS

Te avisamos en cuanto estén disponibles

gracias!
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42099
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Sessions

Postby luiscambuston » Wed Mar 04, 2020 3:49 am

¡Muchas gracias!

Sabiendo que lo van a implementar puedo continuar mi programación y simular la información en la galleta.

Nuevamente… ¡Gracias!

No olviden avisarnos…
luiscambuston
 
Posts: 22
Joined: Mon Mar 02, 2020 12:00 am

Re: Sessions

Postby Antonio Linares » Wed Mar 04, 2020 9:54 am

Luis,

Puedes obtener el cookie haciendo:

? AP_GetEnv( "HTTP_COOKIE" )

Code: Select all  Expand view
function Main()

   ? ValToChar( GetCookies() )    

return nil

function GetCookies()

   local cCookies := AP_GetEnv( "HTTP_COOKIE" )
   local aCookies := hb_aTokens( cCookies, "; " )
   local cCookie, hCookies := {=>}
   
   for each cCookie in aCookies
      hb_HSet( hCookies, SubStr( cCookie, 1, At( "=", cCookie ) - 1 ),;
               SubStr( cCookie, At( "=", cCookie ) + 1 ) )
   next    
   
return hCookies
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42099
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Sessions

Postby Antonio Linares » Wed Mar 04, 2020 11:13 am

Hemos publicado una nueva versión que ya incluye las funciones de cookies :-)

Ahora hay que copiar libharbour.dll a c:\windows\System32\inetsrv junto con las DLLs (estan en el repo de mod_harbour):
libcurl.dll, libcrypto-1_1-x64.dll, libssl-1_1-x64.dl
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42099
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Sessions

Postby luiscambuston » Wed Mar 04, 2020 8:59 pm

Antonio.

Bajé e instalé los DLLs en c:\windows\system32\inetsrv

Todavía no leo la galleta

Gracias por todo tu trabajo, es asombroso....
luiscambuston
 
Posts: 22
Joined: Mon Mar 02, 2020 12:00 am

Re: Sessions

Postby luiscambuston » Wed Mar 04, 2020 9:00 pm

Ejecuté ISSRESET

Mismo resulto.

cookie created!

cookies: {""=>""}
luiscambuston
 
Posts: 22
Joined: Mon Mar 02, 2020 12:00 am

Re: Sessions

Postby luiscambuston » Wed Mar 04, 2020 9:43 pm

Antonio,

DISCULPA.... el nuevo código FUNCIONA. ¡Gracias nuevamente!
luiscambuston
 
Posts: 22
Joined: Mon Mar 02, 2020 12:00 am

Re: Sessions

Postby Antonio Linares » Thu Mar 05, 2020 7:57 am

Muy bien :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42099
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Sessions

Postby Antonio Linares » Tue Mar 10, 2020 10:50 am

Luis,

hay una nueva versión de mod_harbour IIS con soporte de concurrencia (multiples peticiones a la vez) y además
ya no precisa copiar DLLs a ninguna carpeta :-) pues detecta desde donde se está ejecutando mod_harbour.dll y
busca ahí las DLLs.

https://github.com/FiveTechSoft/mod_harbour/tree/master/IIS/bin
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42099
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to mod_harbour

Who is online

Users browsing this forum: No registered users and 5 guests