Session handler

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C# Developer

Dit ga je doen De requirements in kaart brengen van de klant; Implementeren van functionele en technische specificaties bij opdrachtgevers; Oplossen van bugs; Meewerken aan maatwerksoftware voor nieuwe opdrachtgevers; Het testen en uitleveren van nieuwe functionaliteiten naar de acceptatie en productieomgeving De database ontwikkelen en onderhouden; Hier ga je werken Onze klant is gevestigd in het westen van Nederland en is gespecialiseerd in het ontwikkelen van software voor de levensmiddelen industrie. De software die het team maakt optimaliseert voornamelijk de administratieve processen, maakt deze meetbaar en zorgt ervoor dat de data zo goed mogelijk gebruikt kan worden. Binnen een van

Bekijk vacature »

Back-end developer (Magento2)

Functie E-commerce is een ‘’snelle’’ wereld. Om hierin continu voorop te blijven omarmen ze in een vroeg stadium nieuwe technieken. Een webshop is nooit af en kan altijd beter, sneller en efficiënter. Tegelijkertijd hebben ze vanaf hun oprichting altijd vastgehouden aan kwaliteit boven snelheid, en dit loont. Als back-end developer fungeer je als het verlengstuk van hun klanten. Technisch complexe zaken pak je met liefde op, en hierin werk je samen met o.a. front-end developers en designers. Klanten verwacht hierin kwaliteit van het hoogste niveau en een proactieve, meedenkende rol bij het maken van zowel technische als strategische keuzes. Ga

Bekijk vacature »

.NET developer

Functie Als .NET developer start jij in een ontwikkelteam met 15 developers en twee testers. Samen zijn jullie verantwoordelijk voor financiële applicaties met meer dan 50.000 gebruikers. Een deel van het team is verantwoordelijk voor de webapplicaties van deze organisatie. Ook zijn er twee app ontwikkelaars werkzaam in het team die zich focussen op de mobiele applicatie. Als .NET ontwikkelaar ga jij aan de slag met de webapplicaties van deze organisatie. Hierbij maak jij o.a. gebruik van C# .NET, ASP.NET, T-SQL, Angular en TypeScript. De nadruk van jouw functie ligt wel op de backend van de applicatie. Wat jouw functie

Bekijk vacature »

Junior Software Developer

Functie omschrijving Wij zijn op zoek naar een Junior Software Developer .NET, C# voor een gaaf bedrijf in de omgeving van Utrecht! Sta jij aan het begin van je carrière en heb je net je HBO of WO-diploma in de richting van ICT of Techniek mogen ontvangen? En heb jij grote affiniteit met software development? Lees dan snel verder! Voor een opdrachtgever in de omgeving van Utrecht, zijn wij op zoek naar een Junior Software Developer. Werk jij graag aan verschillende projecten en ga je graag klanten op bezoek? Dan is dit de ideale functie voor jou! Binnen deze functie

Bekijk vacature »

C# .NET Developer

Dit ga je doen Je richt je op het doorontwikkelen en herstructureren van het platform; Je werkt in teamverband en zelfstandig aan uitdagende projecten voor verschillende klanten; Softwareontwikkeling middels C# .NET; Je staat in contact met verschillende opdrachtgevers om de klantwensen te bespreken en deze vervolgens te ontwikkelen; Verbeteren van bedrijfsprocessen; Implementaties. Hier ga je werken Als .NET Developer kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet

Bekijk vacature »

Fullstack developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie werken? Voor een mooi softwarebedrijf in omgeving Alblasserdam zijn wij op zoek naar versterking op de afdeling Software Development! Als Fullstack react.js developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met de back

Bekijk vacature »

Front-end developer

Functie Als front-end developer kom je te werken in een team van 30 gedetacheerde, en het team is momenteel flink aan het groeien. Je hebt ervaring met het bouwen van complexe bedrijfsapplicaties waar je gebruik maakt van de nieuwste technologieën waarmee jij elke klant omver blaast. Het gaat om uitdagende projecten met een gemiddelde doorlooptijd van 2 jaar. Hierdoor heb jij echt de volledige focus op een project en kun je flinke impact maken. Het team zit boordevol met ervaren developers die samen dezelfde ambitie delen. Aan de hand van opleidingen en trainingen kun je certificaten halen in jouw expertise

Bekijk vacature »

Back end developer PHP

Functie Met een complex en uitgebreid e-commerce platform, een eigen PIM-systeem en eigen scan applicatie – krijg jij dagelijks te zien hoe jouw werk gebruikt wordt door miljoenen gebruikers. En we staan qua development pas in de startblokken, aangezien er nog meerdere projecten op de plank liggen te wachten! Ons huidige development team bestaat uit 8 programmeurs. Er wordt dagelijks gereflecteerd op geschreven code, Scrum taken en kennisdelen onderling is een must. Onze voertaal binnen ons team is Engels, dit omdat wij twee internationale collega’s hebben. Ons huidige “IT Landschap” bestaat voornamelijk uit allerlei losse onderdelen die individueel, maar ook

Bekijk vacature »

Digital Agency is looking for PHP developers!

Functie The team currently has 20 colleagues, consisting of developers (front and backend) and the operations team, which also includes management and two scrum masters. They are looking for a PHP developer who is able to work independently. You will work in one of the three scrum teams and start working on a project for the customer. The interesting thing about this is that you do have variety in terms of work, but at the same time continuously work for existing customers. This also gives you the opportunity to really go into depth and develop innovative technical solutions. In terms

Bekijk vacature »

Senior Fullstack Developer (GOLang, TypeScript)

Bedrijfsomschrijving Our client is one of the large worldwide accounting firms. Functieomschrijving We are looking for a senior (all-round) developer (Project On Demand / Tax Technology) Uses as much as possible technology in support of the development process: Git, Jenkins, Docker, npm, skaffold, helm, etc. We are looking for a real hands-on developer; ie not a team lead or other managerial-style role; Acts with integrity both internally and externally and takes personal responsibility in this respect; Curious about the developments within their field and driven to make a difference with the team; Able to empathize with colleagues and stakeholders and

Bekijk vacature »

C# Developer Research and Development - Delft

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Delft Vacature ID: 6307 Introductie C# Developer Research and Development - Delft - Onze klant is één van de meest innovatieve bedrijven in de region van Delft. Op dit moment zijn ze voor het innovatie centrum. In het innovatie centrum wordt gewerkt aan de nieuwste technieken voor navigatie software. R&D / C# / Pattern Recognition / Algorithms / 3d Data / DotNET Functieomschrijving Als C# Developer kom je te werken in een innovatief scrumteam. We ontwikkelen en door ontwikkelen de nieuwste technieken op het gebied van navigatie software. Deze software wordt onder andere

Bekijk vacature »

Python Developer

Dit ga je doen Als Python Developer ben je verantwoordelijk voor: Het ontwikkelen van Stuurprogramma's in Python zodat er verbindingen kunnen worden gelegd tussen besturingssystemen en (AV) hardware; Het testen en debuggen van Stuurprorgamma's; Het communiceren met noodzakelijke partijen in gevallen waar extra technische details nodig zijn om een Stuurprogramma te ontwikkelen of problemen op te lossen; Het maken van de nodige technische documentatie (in het Engels); Het participeren in een Scrum/Agile omgeving. Hier ga je werken Deze internationale organisatie is wereldwijd een succesvol producent en leverancier van professionele AV hard- en software. Klanten gebruiken de producten o.a. voor het

Bekijk vacature »

Infrastructure Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 12945 Introductie Our client is one of the most innovative companies within the Netherlands. Currently we are looking for an Infrastructure Platform Engineer. Within this role you will be developing the infrastructure. Functieomschrijving Within this role you are responsible in the development of our distributed data and compute platform infrastructure. You will design, develop and implement new features and fixes. Next to this you will integrate and configurate other packages that supports the development of tuning applications within the organisation. You will support customer sites remotely. Design and implement the

Bekijk vacature »

Software Developer

Longship.io gaat de wereld veroveren met baanbrekende software en legendarische... pizza-avonden! Lees hier de vacature van Software Developer! Bij Longship werken we met een team van 5 mensen aan software voor laadpaal operators. Longship is ontstaan in 2020 met als doel om de elektrische mobiliteitstransitie aan te jagen. We zijn nu al een wereldwijde speler doordat we continu voorop lopen in innovatie. Ons platform helpt het versneld elektrificeren van wagenparken, internationaal! Wij zijn een startup met grote ambities die we willen bereiken met een relatief klein en efficiënt team. Je krijg de kans om ontzettend veel te leren van ervaren

Bekijk vacature »

Database Developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als Database Developer met MS SQL of een vergelijkbare database? Wil jij werken voor een ambitieuze werkgever in regio Tilburg waar jij volledig de mogelijkheid krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je gaat projecten gedurende het hele proces begeleiden. Je sluit aan bij afspraken met klanten om hun processen helder te krijgen. Vervolgens voer jij het project uit en zorgt dat dit zo goed mogelijk verloopt; Je werkt aan nieuwe softwareoplossingen die de logistieke processen verbeteren of vernieuwen; Je houdt je bezig met het ontwikkelen van

Bekijk vacature »
Citroen Anoniem Graag

Citroen Anoniem Graag

23/12/2007 23:14:00
Quote Anchor link
Beste mensen,

vandaag heb ik mijn eigen session handler geschreven (op basis van een bestaande, op de site te vinden). Een klein detailtje is echter dat hij niet doet wat ik wil dat hij doet. Hij doet namelijk niets, en hij zou de data in de database moeten opslaan.

Zo roep ik de handler op:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
    session_set_save_handler('open','close','read', 'write', 'destroy', 'clean');
    session_start();
    $_SESSION['Do'] = 'Bloe';    //ff testen
    
    //dit onderstaande returnt user, dus dat is juist.

    echo ini_get('session.save_handler');
?>


Er komt niet in de database te staan.

Btw session_set_save_handler('open','close','read', 'write', 'destroy', 'clean'); geeft een true terug. en als ik if($_SESSION['Do'] = 'Bloe'){echo 'goed';} doe krijg ik goed op mijn scherm dus dat klopt ook.

Dan nu de handler itself:
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
<?php
function open($sPath = '', $sName = '')
{

    $sGebruikersnaam = 'root';
    $sWachtwoord = '***********';
    $sHost = 'Localhost';
    $sDb = 'session_handler';

    if($iLink = mysql_connect($sHost, $sGebruikersnaam, $sWachtwoord))
    {

        return mysql_select_db($sDb, $iLink);
    }

    else
    {
        return false;
    }
}

function
close()
{

    return mysql_close();
}

function
read($iId)
{

    $qLeesSession = "SELECT waarde FROM sessions WHERE id = '".mysql_real_escape_string($iId)."';";
    $rLeesSession = mysql_query($qLeesSession);
    
    if($rLeesSession)
    {

        if(mysql_num_rows($rLeesSession) == 1)
        {

            $aLeesSession = mysql_fetch_row($rLeesSession);
            return $aLeesSession[0];
        }

        else
        {
            return false;
        }
    }

    else
    {
        return false;
    }
}

function
write($iId, $sData)
{

    $qSchijfSession = "INSERT INTO sessions (s_id, maak_datum, waarde) VALUES (".mysql_real_escape_string($iId).", NOW(), '".mysql_real_escape_string($sData)."');";
    $rSchijfSession = mysql_query($qSchijfSession);
    
    if($rSchijfSession)
    {

        if(mysql_affected_rows() == 1)
        {

            return true;
        }

        else
        {
            return false;
        }
    }

    else
    {
        return false;
    }
}

function
destroy($iId)
{

    $qVerwijderSession = "DELETE FROM sessions WHERE s_id = ".mysql_real_escape_string($iId).";";
    $rVerwijderSession = mysql_query($qVerwijderSession);
    
    if($rVerwijderSession)
    {

        if(mysql_affected_rows() == 1)
        {

            return true;
        }

        else
        {
            echo mysql_error();
        }
    }

    else
    {
        echo mysql_error();
    }
}

function
clean()
{

    $qOpschonen = "DELETE FROM sessions WHERE maak_datum < (NOW() - INTERVAL 15 MINUTE);";
    return mysql_query($qOpschonen) or die(mysql_error());
}

?>


Totslot nog de database dump:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
CREATE TABLE `sessions` (
  `s_id` char(26) NOT NULL,
  `maak_datum` datetime NOT NULL,
  `waarde` mediumblob NOT NULL,
  PRIMARY KEY  (`s_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


Ik krijg geen foutmeldingen..

Wie help mij, alvast bedankt!

Groetjes Freek
Gewijzigd op 01/01/1970 01:00:00 door Citroen Anoniem Graag
 
PHP hulp

PHP hulp

23/11/2024 13:40:16
 
Citroen Anoniem Graag

Citroen Anoniem Graag

24/12/2007 12:34:00
Quote Anchor link
Ik ben er zelf al uit. De queries gingen fout. Dit :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
INSERT INTO sessions (s_id, maak_datum, waarde) VALUES (".mysql_real_escape_string($iId).", NOW(), '".mysql_real_escape_string($sData)."');";


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
INSERT INTO sessions (s_id, maak_datum, waarde) VALUES ('".mysql_real_escape_string($iId)."', NOW(), '".mysql_real_escape_string($sData)."');";


Want het id bestaat ook uit letters, en niet uitsluitend uit cijfers.

Wat ik wel raar vind is dat ik geen error krijg, want hij geef wel zeker een false terug. Ik wil gewoon graag een foutmelding krijgen als het niet lukt....
Hmm krijg idee, ga ff aan de slag met trigger_error() wie weet....

NB. Ik had een ideetje als ik in de database een rij met ip (van de gebruiker) erbij maak, dan sluit ik session hijacking toch uit. Want als je de cookie dan weet te veranderen in een geldig session_id dan match het ip adres ook niet. Dan zou je eventueel ook nog de browser kunnen opslaan. o.i.d. Klopt mijn theorie dat ik session hijacking dan uitsluit??
Graag jullie meningen.
 
Jan geen

Jan geen

24/12/2007 12:41:00
Quote Anchor link
Als je het ip ook opslaat kan alleen de persoon met dat ip de sessie opvragen, klopt dus.
 
Frank -

Frank -

24/12/2007 12:45:00
Quote Anchor link
Quote:
Wat ik wel raar vind is dat ik geen error krijg, want hij geef wel zeker een false terug. Ik wil gewoon graag een foutmelding krijgen als het niet lukt....
Flikker MySQL dan weg, die geeft standaard slechts zelden een foutmelding. MySQL zal zijn uiterste best doen om jouw data naar de klote te helpen en pas wanneer dat niet lukt, geeft MySQL een foutmelding. Waarschijnlijk uit pure frustratie!

Maar alle gekheid op een stokje, MySQL geeft zelden een foutmelding, dat mag je eerst zelf instellen. Zie deze tutorial.

Het gebruik van een betere database is altijd aan te raden, denk bv. aan PostgreSQL een écht gratis opensource database (i.t.t. MySQL!) en wat mogelijkheiden betreft vergelijkbaar met Oracle.
 
Citroen Anoniem Graag

Citroen Anoniem Graag

24/12/2007 12:49:00
Quote Anchor link
MySQL geeft keurig een foutmelding als ik de functie mysql_error gebruik. maar ik wil dat php een foutmelding geeft als het schrijven van bv de session niet lukt. Als de functie write dus false retourneerd, wat gebeurt bij een mislukte query, wil ik dat php gaat protesteren.
 
Citroen Anoniem Graag

Citroen Anoniem Graag

25/12/2007 13:50:00
Quote Anchor link
bumbje
 
Joren de Wit

Joren de Wit

25/12/2007 13:58:00
Quote Anchor link
Dat kun je natuurlijk afvangen in je script:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if(write($iId, $sData) === false))
{

    echo 'Ik protesteer!';
}

?>

Er zijn natuurlijk vele andere manieren waarop je een foutmelding kunt geven (denk aan trigger_error en het gebruik van exceptions), maar dat is helemaal aan jou. Wellicht dat je deze tutorial over foutafhandeling er even op na wilt slaan...
 
Citroen Anoniem Graag

Citroen Anoniem Graag

25/12/2007 16:51:00
Quote Anchor link
Hmm, exceptions gaat niet lukken want php.net zegt:
Quote:
As of PHP 5.0.5 the write and close handlers are called after object destruction and therefore cannot use objects or throw exceptions. The object destructors can however use sessions.

Die oplossing die jij geeft kan ook niet, want ten eerste weet je het id niet (owjah toch wel session_id()) Maar dan wat moet er bij data komen te stan iets als NaamS:|waarde o.i.d

Ik wil gewoon dat als ik dit doe.
$_SESSION['iets'] = 'waarde';

en er gaat een query fout, dat php dan zegt, hé stop eens ff ik kreeg een false terug. Er ging iets mis!
 
Joren de Wit

Joren de Wit

25/12/2007 18:44:00
 



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.