automatische sessie verlenging

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Node.js developer looking for a challenging consul

Functie Under the guidance of 3 account managers, one of whom will be your point of contact within your expertise, you will start working for various clients. He or she will help you find a suitable and challenging assignment. Naturally, they will take your situation, experience and (technical) ambitions into account. The assignments last one to two years on average. This allows you to really commit to a project and make an impact as a consultant. Besides the assignment, you will regularly meet your colleagues from the IT department to share knowledge or discuss new trends, for example. Master classes

Bekijk vacature »

Software developer

Functie Momenteel zijn ze op zoek naar een Software developer die, veelal fullstack, mee gaat werken aan de ontwikkeling van de producten en zo helpt aan de uitvoering van hun ontwikkelprojecten. Je komt te werken binnen hun development team bestaande uit 6 ontwikkelaars. Ze staan zowel open voor meer junior als medior/senior developers. Je kunt snel veel verantwoordelijkheid krijgen en doorgroeien binnen het bedrijf. Bovendien ben je betrokken bij het bepalen van de product roadmap en de inbreng van (nieuwe) technologieën. De applicaties waaraan je werk worden gebruikt op onderwijsinstellingen door heel Nederland. De tech-stack bestaat voornamelijk uit Laravel (PHP),

Bekijk vacature »

Software Ontwikkelaar C# .NET

Functie omschrijving Startende Software Ontwikkelaar gezocht met kennis van C# .NET! Ben jij net klaar met je opleiding en ben je op zoek naar je eerste echte werkervaring? Of heb jij al enige werkervaring maar ben toe aan iets nieuws? Dan is dit de perfecte kans voor jou! Wij zoeken namelijk een Junior Software Ontwikkelaar die klaar is voor een nieuwe uitdaging bij een leuke werkgeven in de regio Zeist. In deze functie werk jij vaak aan verschillende projecten en ga je bij klanten op bezoek. Ben jij op zoek naar een functie met uitdaging, diversiteit en verantwoordelijkheid? Dan is

Bekijk vacature »

Lasrobot Programmeur

Over de functie Off-line programma’s maken die het beste resultaat bij de lasrobot mogelijk maken De programma’s met behulp van teach verder optimaliseren Proactief meedenken over oplossingen en over de juiste invulling van lasmallen Het lasrobotproces zoveel mogelijk optimaliseren Over het bedrijf Onze opdrachtgever is gespecialiseerd in de engineering, productie en assemblage van samengestelde plaatwerkproducten en monodelen uit metaal. Onze klant werkt samen met het team aan de mooiste producten van de toekomst. Binnen dit bedrijf staat een sterk team van specialisten op het gebied van industrial design, mechanical engineering, in-house prototyping en all-round projectmanagement. Met daarbij uiteenlopende kennis in

Bekijk vacature »

Software Developer / .NET / Azure

Dit ga je doen Als Lead .NET Software Developer zal je je bezig houden met: Het vertalen van bedrijfswensen naar een technische roadmap; Uitwerken van nieuwe architectuur / designs; Het team aansturen en motiveren; Toezien op de kwaliteit van de code; Mee ontwikkelen van nieuwe features en applicaties. Hier ga je werken Deze organisatie is op dit momenteel marktleider in het ontwikkelen van productielijnen voor de voedselindustrie en heeft een wereldwijd klantnetwerk. Binnen deze organisatie is het team van software developers dagelijks bezig met het ontwikkelen van maatwerk oplossingen om alle productiemachines aan te sturen, maar ook bedrijf kritische applicaties

Bekijk vacature »

Front End Ontwikkelaar (React)

In het kort Als front end developer ga je aan de slag met maatwerkprojecten voor onze klanten. Denk bijvoorbeeld aan het toevoegen van een machine aan een database of het corrigeren van formulieren voor ingestuurde orders. Voorbeeld van zo’n project is Smart Link. De projecten waar je op ingezet kunt worden liggen binnen het technische domein waar jij als front end developer een grote rol speelt om samen met je back end collega’s de juiste oplossingen te leveren. please note that this particular role requires fluent Dutch language skills. Dit vind je leuk om te doen Het omzetten van designs

Bekijk vacature »

C# developer

Functie omschrijving We are looking for a dutch native speaker Ik ben op zoek naar een back-end developer, die met name kennis & ervaring heeft van de programmeertaal C#. Jij gaat aan de slag bij een topspeler in de logistieke sector, die zich behalve met logistiek, ook bezig houdt met softwareontwikkeling. Welke taken komen hierbij kijken? Je gaat desktop- en webapplicaties onderhouden en optimaliseren, waarin je werkt met o.a. C#, ASP.NET, SQL Server en T-SQL. Je hebt regelmatig klantcontact om de wensen in kaart te brengen en te evalueren over de huidige draaiende applicaties. Je implementeert nieuwe functionaliteiten toe aan

Bekijk vacature »

PHP Developer

Als PHP Developer bij Coolblue zorg je ervoor dat onze webshops elke dag een beetje beter zijn. Wat doe je als PHP Developer bij Coolblue? Als PHP Developer werk je met andere development teams samen om onze webshop zo optimaal mogelijk te laten werken en onze klanten blij te maken. Hoewel je een PHP Developer bent, sta je open om C# of Typescript in te zetten of te leren. Ook PHP Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen pure PHP code schrijven. Samenwerken met de klantreiziger om onze klanten

Bekijk vacature »

Front-end Developer vue.js node.js SaaS

Dit ga je doen Het ontwikkelen van nieuwe features die bijdragen aan de groei van de klanten van de organisatie; Je denkt mee over nieuwe innovaties, features en verbeteringen in de applicatiearchitectuur; Je draagt bij aan de continue ontwikkeling van jouw team doordat je elke dag streeft naar het verbeteren van jouw eigen prestaties; Je neemt actief deel aan Scrum meetings en de Frontend Guild. Hier ga je werken Voor een snel groeiend bedrijf de regio Nieuw Vennep zijn wij opzoek naar een ervaren Front-end Developer. De organisatie is actief in de e-commercebranche en ontzorgt haar klanten middels een SaaS-platform.

Bekijk vacature »

.NET Developer te Naarden

Bedrijfsomschrijving Voor mijn klant ben ik op zoek naar een .NET Developer om het huidige team te komen versterken. Deze organisatie bevindt zich in de logistieke sector, en zij hebben een eigen ERP systeem ontwikkeld dat zij inzetten ter optimalisatie van de logistieke processen van haar eindklanten. Deze organisatie bestaat inmiddels al ruim 20 jaar, waarbij zij een duidelijke missie hebben, namelijk: het werk van de eindklant makkelijker maken door de systemen die zij leveren. Ze werken over heel de wereld, wat deze organisatie een echte internationale speler maakt. Binnen de organisatie kenmerken ze zich door een dynamische en professionele

Bekijk vacature »

.NET developer

Functie Heb jij veel kennis van ASP.NET Webforms en wil jij juist de overstap maken naar ASP.NET Core? Wij zijn per direct op zoek naar een ervaren .NET Webdeveloper die met ons samen ons platform wilt herschrijven van ASP.NET Webforms naar ASP.NET Core. Voor jou de unieke kans om met ons samen te innoveren en kennis op te doen van de nieuwste technieken binnen de Microsoft Stack. Wij hebben een development team met 10 IT specialisten bestaande uit onder andere 4 backend .NET developers en twee front-end developers. Wij zijn continu bezig om ons als team en bedrijf te blijven

Bekijk vacature »

In-house .NET software developer

Functie omschrijving Ben jij op zoek naar een uitdagende in-house development functie? Maak jij graag hét verschil m.b.t. interne automatisering? Haal jij energie uit het automatiseren van processen voor je eigen collega's? Dan hebben wij de perfecte vacature voor je! Voor een gezellig Brabants familiebedrijf, zijn wij op zoek naar een .NET software developer. Je gaat in deze zelfstandige functie werken aan de ontwikkeling van eigen applicaties & en het koppelen van deze applicaties aan de ingekocht software. Jouw werkzaamheden zien er als volgt uit: Het management team signaleert behoeftes vanuit de business. Vervolgens worden deze behoeftes uitgewerkt en geprioriteerd.

Bekijk vacature »

Front-end Developer

Dit ga je doen Het onderhouden, ontwikkelen en testen van front-end software van diverse klant- en medewerkersapplicaties; Het ontwikkelen van maatwerk front-end oplossingen in Vue.js en participeren in een scrumteam; Mede-verantwoordelijk voor het begeleiden en coachen van drie junior front-end developers; Verantwoordelijk voor code-reviews en het opstellen van de juiste documentatie zoals userstories en API ontwerp; Participeren in diverse projecten t.b.v. optimalisatie van diverse applicaties; Het opzetten van API koppelingen met externe applicaties. Hier ga je werken Betreffende organisatie is gevestigd in de regio van Swifterbant en is al ruim 20 jaar lang bedreven in het ontwikkelen en aanbieden van

Bekijk vacature »

Anaplan Developer

Dit ga je doen What are you going to do: Picking up Stories: Design planning had, how are we going to build it in Anaplan; Talking to the end user to build a forecasting model; Having contact with the data team about which data is needed; Being able to convert an Excel sheet into a 3, 4 or 5 dimensional modeling environment; Giving knowledge sessions about Anaplan; Solving incidents; Making instructional videos on how teams should read forecasts; Writing blogs about forecasting. Hier ga je werken We are looking for an Anaplan Builder to deliver end-to-end solutions within a big

Bekijk vacature »

Java Programmeur

Functie Heb jij altijd al samen willen werken met ervaren java ontwikkelaars dan hebben wij hier de ultieme kans voor jou! Voor een opdrachtgever in omgeving van Naaldwijk zijn wij op zoek naar uitbreiding van het vaste ontwikkel team. Je zult je hier voornamelijk bezig gaan houden met; Wijzigingsverzoeken van klanten uitvoeren, hier wordt je diep in betrokken; Samen met consultants sluit je aan bij gesprekken met klanten, voor alle projecten; Je schakelt veel met consultants, wat is de behoefte van de klant? Hoe kan je hierop integreren?; Het framework moet naar de Cloud gebracht worden, je wordt betrokken bij

Bekijk vacature »
Jack Maessen

Jack Maessen

24/10/2013 14:03:32
Quote Anchor link
Hallo,

Ik vraag met af of het mogelijk is een inlogsessie automatisch te verlengen met behulp van een script. (weet niet of PHP hier toereikend voor is)
Het gaat om het volgende: op de pagina werk.nl als je bent ingelogd, moet je binnen 15 minuten handmatig je sessie verlengen. Anders word je uitgelogd en vervallen je gegevens.
Je krijgt weliswaar een popupje als je sessie nog maar 2 minuten of iets duurt maar als je dan net een kopje koffie aan het drinken bent en niet achter de computer zit heb je pech en wordt je uitgelogd.
Als ik met de muis op "Verleng uw sessie" sta zie ik dat bestaande url met een # teken erachter wordt aangeroepen. Dat is dus voldoende om je sessie te verlengen.
Is het mogelijk om dit in een script op de achtergrond te laten werken en daarin om de zoveel tijd een request op die server te doen om de sessie te verlengen?

Afbeelding
Gewijzigd op 24/10/2013 14:05:06 door Jack Maessen
 
PHP hulp

PHP hulp

22/11/2024 09:59:39
 
Eddy E

Eddy E

24/10/2013 14:13:57
Quote Anchor link
Ja, je kan bijvoorbeeld (voorheen, met een oudere, betere versie) van Opera kiezen voor automatisch herladen.
En dan stel je een tijd in van (bijvoorbeeld) 13 minuten.
Zodra je wat doet begint die teller weer opnieuw met lopen.

Ik dacht dat de browser Maxton ook zoiets heeft.
In veel browser kan je tegenwoordig zelf je eigen stijblad (CSS) over een website gooien (in Opera kon dat wel). Dan zal je zoiets vast ook wel voor Javascript hebben (om te herladen). En anders is er wel een addon (Chrome/FF) voor.

In theorie hoef je alleen maar een <meta refresh> toe te voegen...
 
Donny Wie weet

Donny Wie weet

24/10/2013 14:14:19
Quote Anchor link
Nee, niks aan te doen. Ze kiezen er niet voor niks voor om een sessie maar 15 minuten te laten duren. Zolang jij actief bent op de site zal de sessie geupdate blijven :)

Toevoeging op 24/10/2013 14:16:56:

@eddy: dat is geen sessie verlengen maar gewoon je page herladen :P

Toevoeging op 24/10/2013 14:17:21:

Ow je kan trouwens ook een auto clicker laten klikken op de refresh button :)
 
Jack Maessen

Jack Maessen

24/10/2013 14:17:54
Quote Anchor link
ja die meta refresh had ik ook al aan gedacht maar het vervelende is natuurlijk dat de url iedere keer wijzigt.
Er zou dus iets moeten zijn dat eerst de url checkt, en vervolgenns de refresh doet op bestaande url...
Edit: maar dan zit je nog met het inputprobleem; stel je bent een sollicitatiebrief aan het schrijven online op de site en er vind een refresh plaats; weg alle gegevens...
Gewijzigd op 24/10/2013 14:21:19 door Jack Maessen
 
Michael -

Michael -

24/10/2013 14:39:59
Quote Anchor link
Jack maessen op 24/10/2013 14:17:54:
ja die meta refresh had ik ook al aan gedacht maar het vervelende is natuurlijk dat de url iedere keer wijzigt.
Er zou dus iets moeten zijn dat eerst de url checkt, en vervolgenns de refresh doet op bestaande url...
Edit: maar dan zit je nog met het inputprobleem; stel je bent een sollicitatiebrief aan het schrijven online op de site en er vind een refresh plaats; weg alle gegevens...

Dat je input data verloren zal gaan, zul je niet kunnen voorkomen. Je kunt immers niks onderwater refreshen. Waarom werk.nl sowieso maar 15 minuten heeft is inderdaad raar. Lang niet iedereen kan een sollicitatiebrief typen in 15 minuten.

Ik weet niet welke browser je gebruikt, maar voor Firefox en Chrome zijn er refresh addons/plugins die je in kunt stellen op 13 minuten. Meestal krijg je dan een knop bij in je browser waarmee je hem simpel aan en uit kan zetten. Je gaat niet onder een sollicitatie brief typen koffie drinken lijkt me. En anders zal deze toch na 15 minuten verloren gaan begrijp ik. Op het moment dat jij dan zin hebt in koffie schakel je de refresh plugin/addon in en klaar.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

24/10/2013 14:42:18
Quote Anchor link
Wat doet een sessie?

De server houdt voor alle gebruikers wat variabelen in het geheugen van de server vast en om te weten wie wie is wordt er een cookie geplaatst met een sleutel. Is het cookie verlopen dan is het jammer heb je geen sleutel meer.

Zoiets kun je zelf ook maken. Je kunt 'handmatig' een cookie plaatsen met een sleutel er in. Je kunt dan zelf bepalen hoe lang zo een cookie geldig is. Dan zou ik de gegevens niet in meer in $_SESSION opslaan maar in de database.
 
Michael -

Michael -

24/10/2013 14:50:48
Quote Anchor link
Frank Nietbelangrijk op 24/10/2013 14:42:18:
Wat doet een sessie?

De server houdt voor alle gebruikers wat variabelen in het geheugen van de server vast en om te weten wie wie is wordt er een cookie geplaatst met een sleutel. Is het cookie verlopen dan is het jammer heb je geen sleutel meer.

Zoiets kun je zelf ook maken. Je kunt 'handmatig' een cookie plaatsen met een sleutel er in. Je kunt dan zelf bepalen hoe lang zo een cookie geldig is. Dan zou ik de gegevens niet in meer in $_SESSION opslaan maar in de database.

Hoe wil dit doen voor een externe website? Ik mag hopen dat werk.nl niet zo makkelijk te hijacken is.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

24/10/2013 18:57:15
Quote Anchor link
En wat bedoel jij precies met een externe website Michael?
 
Jack Maessen

Jack Maessen

24/10/2013 19:20:07
Quote Anchor link
als ik jou begrijp Frank dan zou ik op zoek moeten gaan naar het cookie waarin de sessietijd staat vermeld. dit cookie openbreken en de sessiontime verlengen. Dat is wat je zegt toch?
 
Eddy E

Eddy E

24/10/2013 20:28:09
Quote Anchor link
Als het met een sessiecookie werkt, kan dat. Of je stript het automatisch verversen (en dus dat jou uitlogt) eruit.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

25/10/2013 00:30:07
Quote Anchor link
Goed ik vond het wel een leuk issue en dacht zal eens iets in elkaar timmeren.
Onderstaand voorbeeld is in staat om een sessie na te bootsen.
de sessievariabelen zijn hier altijd van het type string en hebben maximaal 255 karakters.
de sessiegegevens en variabelen worden in de database opgeslagen en uitgelezen.
oude sessiegegevens worden nog niet uit de database verwijderd.
Dat is nog niet optimaal en zou zeker anders kunnen. Maar het gaat er even om het idee te verduidelijken.

Misschien is het een idee om met elkaar hier iets moois van te maken?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<?php

// Hoe lang duurt het voor de sessie verloopt in seconden
define('SESSION_DURATION', 3600);

// de naam van het cookie
define('SESSION_IDENTIFIER', 'OWN_SESSION_ID');

// secret token dat gebruikt wordt om een hash te genereren
define('SECRET', 'pHpHuLp');

// database instellingen
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASS', '');
define('DB_DBASE', 'test');

// lege database class, kan later uitgebreid worden
class Database extends mysqli
{
}


// onze eigen sessie class
class OwnSession
{
    private $db;
    private $sess_id;
    private $sess_key;  // de hash
    private $vars;        // array van session variabelen
    
    function __construct($db)
    {

        $this->db = $db;
        $this->vars = array();
        $this->sess_id = 0;

        // kijk of er een cookie is
        if(isset($_COOKIE[SESSION_IDENTIFIER]))
        {

            // kijk of er een geldige sessie gevonden kan worden in de database
            $result = $this->db->query("SELECT id FROM sessions WHERE sess_key='".$_COOKIE[SESSION_IDENTIFIER]."' && TIME_TO_SEC(TIMEDIFF(NOW(), started)) < " . SESSION_DURATION);
            if($row = $result->fetch_assoc())
            {

                // laad de sessie-data uit de database
                $this->sess_id = $row['id'];
                $this->sess_key = $_COOKIE[SESSION_IDENTIFIER];
                $this->db->query("UPDATE sessions SET started=NOW() WHERE id='" . $this->sess_id . "'");
                $this->loadSessionVars();
            }
        }

        
        // als er geen sessie gevonden is in de database maak dan een nieuwe sessie aan
        if(!$this->sess_id)
        {

            $this->sess_key = sha1(SECRET . time() . rand()); // willekeurige hash genereren
            $this->db->query("INSERT INTO sessions VALUES ( '', '" . $this->sess_key . "', NOW() )"); // sla de hash en de huidige timestamp op in de database
            $this->sess_id = $this->db->insert_id;
        }

        
        // plaats een (nieuwe) cookie
        setcookie(SESSION_IDENTIFIER, $this->sess_key, time() + SESSION_DURATION);
    }
    
    function
__destruct()
    {

        $this->db->query("DELETE FROM sess_vars WHERE session_id='" . $this->sess_id . "'");
        foreach($this->vars as $key => $val)
        {

            $this->db->query("INSERT INTO sess_vars VALUES ( '','" . $this->sess_id . "','" . $key . "','" . $val . "' )");
        }
    }
    
    function
setVar($name, $value)
    {

        $this->vars[$name] = $value;
    }
    
    function
getVar($name)
    {

        if(isset($this->vars[$name]))
            return $this->vars[$name];
            
        return null;
    }
    
    function
unsetVar($name)
    {

        unset($this->vars[$name]);
    }

    
    public function loadSessionVars()
    {

        $result = $this->db->query("SELECT name, value FROM sess_vars WHERE session_id='".$this->sess_id."'");
        while($row = $result->fetch_assoc())
        {

            $this->setVar($row['name'], $row['value']);
        }
    }

    
    public function install()
    {

        $query =
'CREATE TABLE IF NOT EXISTS `sessions` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `sess_key` varchar(255) NOT NULL,
  `started` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;'
;

        $this->db->query($query);
        
        $query =
'CREATE TABLE IF NOT EXISTS `sess_vars` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `session_id` int(11) NOT NULL,
  `name` varchar(255) NOT NULL,
  `value` varchar(255) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `session_id` (`session_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;'
;

        $this->db->query($query);
    }
}


$db = new Database(DB_HOST, DB_USER, DB_PASS, DB_DBASE);
$sn = new OwnSession($db);

// create database tables
$sn->install();
echo 'vorige tijd: ' . $sn->getVar('time');
$sn->setVar('time', date('H:i:s'));
?>
Gewijzigd op 25/10/2013 00:39:04 door Frank Nietbelangrijk
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.