FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index mod_harbour Sessions
Posts: 22
Joined: Mon Mar 02, 2020 12:00 AM
Sessions
Posted: Tue Mar 03, 2020 05: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

Posts: 22
Joined: Mon Mar 02, 2020 12:00 AM
Re: Sessions
Posted: Tue Mar 03, 2020 06: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

Posts: 22
Joined: Mon Mar 02, 2020 12:00 AM
Re: Sessions
Posted: Tue Mar 03, 2020 06: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?

Posts: 22
Joined: Mon Mar 02, 2020 12:00 AM
Re: Sessions
Posted: Tue Mar 03, 2020 06: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

Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Sessions
Posted: Tue Mar 03, 2020 06:52 PM
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 22
Joined: Mon Mar 02, 2020 12:00 AM
Re: Sessions
Posted: Tue Mar 03, 2020 07: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: {""=>""}

Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Sessions
Posted: 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
Posts: 22
Joined: Mon Mar 02, 2020 12:00 AM
Re: Sessions
Posted: Wed Mar 04, 2020 03: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…

Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Sessions
Posted: Wed Mar 04, 2020 09:54 AM
Luis,

Puedes obtener el cookie haciendo:

? AP_GetEnv( "HTTP_COOKIE" )

Code (fw): Select all Collapse
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
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Sessions
Posted: 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
Posts: 22
Joined: Mon Mar 02, 2020 12:00 AM
Re: Sessions
Posted: Wed Mar 04, 2020 08: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....

Posts: 22
Joined: Mon Mar 02, 2020 12:00 AM
Re: Sessions
Posted: Wed Mar 04, 2020 09:00 PM

Ejecuté ISSRESET

Mismo resulto.

cookie created!

cookies: {""=>""}

Posts: 22
Joined: Mon Mar 02, 2020 12:00 AM
Re: Sessions
Posted: Wed Mar 04, 2020 09:43 PM

Antonio,

DISCULPA.... el nuevo código FUNCIONA. ¡Gracias nuevamente!

Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Sessions
Posted: Thu Mar 05, 2020 07:57 AM

Muy bien :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Sessions
Posted: 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

Continue the discussion