Vraag & Antwoord

Webprogrammeren & scripting

[ASP] Session-variabelen in combinatie met cookies

17 antwoorden
  • Ik ben los :-? , misschien kan iemand mij helpen. Als je gebruik maakt van Session-variabelen, moet dan het gebruik van cookies aan staan in de browser? Even ter verduidelijking: Ik gebruik een loginscript en als het juiste password wordt ingevoerd wordt de volgende code uitgevoerd: [code:1:9ed5454200]Session("IsAdmin") = True[/code:1:9ed5454200] Vervolgens wordt een nieuw scherm opgestart, waar [code:1:9ed5454200]Session("IsAdmin")[/code:1:9ed5454200] weer wordt uitgevraagd. Op mijn eigen PC werkt e.e.a. perfect, echter op een PC waar het gebruik van cookies is uitgeschakeld werkt dit niet. Session verwijst cookies ? JohanW
  • Sessions zijn serverside dus het kan er alleen aan liggen dat er iets niet klopt op de server of in het script. Je kan proberen om de inhoud van de session weer te geven op het scherm en kijken of de inhoud wel klopt.
  • [quote:5f4f0114d1="Dummetje"]Sessions zijn serverside dus het kan er alleen aan liggen dat er iets niet klopt op de server of in het script. Je kan proberen om de inhoud van de session weer te geven op het scherm en kijken of de inhoud wel klopt.[/quote:5f4f0114d1]Niet helemaal. Om een gebruiker te identificeren wordt de session-id meegestuurd in een cookie. Dus het gedrag wat je ziet is "by design". Open maar eens een asp pagina en bekijk dan de inhoud van het cookie (bijv: [color=darkred:5f4f0114d1][i:5f4f0114d1]javascript:document.write(document.cookie)[/i:5f4f0114d1][/color:5f4f0114d1] uitvoeren in de adresbalk)
  • [quote:e313674faf="Dummetje"]Sessions zijn serverside dus het kan er alleen aan liggen dat er iets niet klopt op de server of in het script.[/quote:e313674faf]Maar het sessieID wordt wel degelijk in een cookie (een speciale sessiecookie meestal) opgeslagen... Waarom tik ik zo langzaam? :roll:
  • Sorry, ik dacht dat het helemaal serverside was. :oops: Maar ja foutje moet kunnen. :lol:
  • [quote:0e65fa547f] Waarom tik ik zo langzaam? [/quote:0e65fa547f] omdat ik niet zo snel lees?
  • [quote:e817d958db="Jurriaan R"]omdat ik niet zo snel lees?[/quote:e817d958db]Die mods van tegenwoordig houden met alles en iedereen rekening zie je wel ;)
  • Als ik bovenstaande reacties goed begrijp, zouden session-variabelen gewoon moeten werken, ook als de cookies uitgeschakeld zijn. Helaas werkt het gebruik van session-variabelen toch niet op mijn werkplek op kantoor (beveiliging staat op HOOG, heeft dat er misschien iets mee te maken?). Als ik de inhoud van session.contents weergeef, blijkt deze leeg te zijn, behalve als ik deze meteen na het aanmaken weergeef. Dus bv. [code:1:332553c32d]Session("waarde") = "blabla" For Each i in Session.Contents Response.Write(i & "=" & Session.Contents(i)) Next [/code:1:332553c32d] geeft als resultaat: waarde=blabla ga ik nogmaals naar dezelfde pagina (bv. door een link), maar nu zonder het 'zetten' van Session("waarde") = "blabla", dan krijg ik een leeg scherm. Help!
  • [quote:20f5278bbb="JohanW"]Als ik bovenstaande reacties goed begrijp, zouden session-variabelen gewoon moeten werken, ook als de cookies uitgeschakeld zijn.[/quote:20f5278bbb] Je begrijpt bovenstaande dus niet goed ;) Als je gebruik wil maken van een session systeem zonder cookies dan zul je zelf iets moeten maken (bijvoorbeeld door de session-id mee te sturen in de url). En kan je dus geen gebruik maken van de session implementatie van ASP.
  • Wanneer je een session aanmaakt wordt altijd een cookie aangemaakt. Dus wil je werken met session dan MOET de browser cookies accepteren. Dus geen cookies geen session.
  • [quote:c89d6f6d42="HarrySnotter"]Dus geen cookies geen session.[/quote:c89d6f6d42]Dat is niet waar, je kan prima sessies gebruiken zonder cookies... Alleen zul je dan zelf de sessieID bij ieder request mee moeten sturen...
  • [quote:41266fdb4e]Dat is niet waar, je kan prima sessies gebruiken zonder cookies... Alleen zul je dan zelf de sessieID bij ieder request mee moeten sturen...[/quote:41266fdb4e] Dit ben ik nergens tegen gekomen in mijn speurtocht. Heb je misschien een kleine tip hoe ik dit aan moet pakken Bvd. JohanW
  • Geen idee, ik heb al jaren niets meer met ASP gedaan (en geen spijt van ook trouwens ;)). Sorry...
  • Als je gegevens via een url meezend maak je gebruik van querystrings of dat nou de session ID is of een zelfgemaakte variabele. Dus is dit is niet echt de bedoeling van een session.
  • Toch wel, je kan aan de hand van het sessieID gewoon weer de data opvragen die bij dat ID hoort. Percies wat een sessie zou moeten doen. Cookies worden ook via de request meegestuurd hoor, dus zoveel verschil is er niet...
  • [quote:c12d36305e="Bill Gates"]Toch wel, je kan aan de hand van het sessieID gewoon weer de data opvragen die bij dat ID hoort. Percies wat een sessie zou moeten doen. Cookies worden ook via de request meegestuurd hoor, dus zoveel verschil is er niet...[/quote:c12d36305e] Hmm, ik maak ook gebruik van sessies in mijn winkel die ik aan het bouwen ben, en in die Sessievariabele wordt een uniek ID opgeslagen waarmee o.a. het winkelwagentje geïdentificeerd kan worden. Maar als ik daar dus gebruik van wil maken zonder cookies wat moet ik dan doen? Op elke pagina opnieuw zetten iets van [code:1:c12d36305e]Session("variabelenaam") = Session("variabelenaam")[/code:1:c12d36305e] zodat je hem steeds opnieuw verlengd ofzo??
  • [quote:dd84188006="Bill Gates"]Toch wel, je kan aan de hand van het sessieID gewoon weer de data opvragen die bij dat ID hoort. Percies wat een sessie zou moeten doen. Cookies worden ook via de request meegestuurd hoor, dus zoveel verschil is er niet...[/quote:dd84188006] Een cookie via een request? Hmmm.. dat klinkt tegenstrijdig zeg, want we praten over session zonder cookies, maar via request meesturen. een cookie via een request zenden kan al helemaal niet. enneh. en een cookie kijk je ook niet plaatsen als deze in de webbrowser is uitgeschakeld Het verschil is er dus wel.

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.