ingelogd blijven

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Typescript Developer / Cloud platform

Dit ga je doen (Door)Ontwikkelen van het cloud platform; (Door)Ontwikkelen van microservices; Bouwen van nieuwe functionaliteiten; Verbeteringen aandragen voor het cloud platform; Sparren met de business. Hier ga je werken Onze opdrachtgever, gevestigd in regio Eindhoven, levert een compleet dienstenpakket op het gebied van IT. Zij pakken verschillende (complexe) vraagstukken van grote organisaties op. De sfeer intern is gezellig en informeel. Men houdt van hard werken maar gezelligheid door middel van een borrel of gezamenlijke lunch komt er veel voor. Als Typescript ontwikkelaar word je onderdeel van het team gericht op de (door)ontwikkeling van hun eigen cloud platform welke wordt

Bekijk vacature »

PHP Software Developer

Functie omschrijving PHP Software Developer gezocht! Voor een organisatie in de regio Zeist die zich bezighoud met het verbeteren van de medicatieveiligheid zoeken wij een Software Developer. In deze functie zijn wij op zoek naar een slimme en enthousiaste Developer die interesse heeft in farmacie, logistiek en ICT. Daarnaast beschik je over een goed analytisch vermogen en ben je van nature gestructureerd en resultaatgericht. Je moet in deze functie daadkrachtig, flexibel en communicatief goed zijn. Je verantwoordelijkheden bestaan uit: Object georiënteerd programmeren; Werken in een scrumteam aan de ontwikkeling van een medicatiebewakingssysteem; Meedenken over de mogelijkheden en onmogelijkheden van projecten;

Bekijk vacature »

Software Developer C# - Deventer

Software Developer C# – Deventer Bijdragen aan de toekomst van het onderwijs! Ben jij op zoek naar een dynamische omgeving waar vol enthousiasme wordt gewerkt aan software voor interactieve dashboard- en analysetoepassingen ter verbetering van het onderwijs? Dan zijn wij het bedrijf voor jou! TIG is een bedrijf met een informele en ondernemende werksfeer, waarbij goede ideeën snel leiden tot concrete acties. Wij zijn een software ontwikkelorganisatie en focussen ons op het ontwikkelen en implementeren van oplossingen voor het leveren van managementinformatie, datavisualisatie en analyses voor het onderwijs. Met onze dashboard- en analyseoplossingen zetten scholen gegevens om naar betekenisvolle informatie.

Bekijk vacature »

.NET developer

Functie Als senior .NET ontwikkelaar en aankomend lead developer ben jij in één van de drie development teams verantwoordelijk voor het volgende: • Jij hebt een oogpunt op modernisering en bent verantwoordelijk voor de technische staat en architectuur van de applicatie; • Jij bent verantwoordelijk voor het reviewen van de technische haalbaarheid van verschillende onderwerpen; • Jij bent verantwoordelijk voor een goede aansluiting binnen het multidisciplinaire team en de bijbehorende taken; • Jij bent verantwoordelijk voor het aandragen van verbetervoorstellen en ontwikkelstandaarden in zowel de techniek als architectuur; • Jij bent meewerkend voorman en ondersteunt en coacht jouw team op

Bekijk vacature »

.NET developer

Klaar voor een nieuwe uitdaging? Welke technologieën gaan schuil achter de dagelijkse energievoorziening? Als senior .NET developer bij Kenter maak jij samen met je team het verschil, zowel voor de interne organisatie als voor eindklanten. Samen bouwen jullie aan innovatieve dienstverlening met behulp van de nieuwste technologieën en tools. Het is een functie met veel vrijheid, goede arbeidsvoorwaarden én je draagt jouw steentje bij aan de energietransitie. Klinkt dit als iets voor jou? Lees dan verder of solliciteer direct! Wat ga je doen als senior .NET developer? Als senior .NET developer bij Kenter (onderdeel van Alliander) ben je van onschatbare

Bekijk vacature »

Software Developer Java

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

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 »

PHP developer (Symfony, Doctrine)

Functie Als PHP developer wordt er een hoge mate van zelfstandigheid verwacht, maar ook dat je goed opereert in een team waar kennis wordt gedeeld en dingen als codereviews erg veel voorkomen. Kwaliteit staat voorop, mede hierom werken ze bijvoorbeeld zonder echte deadlines in hun sprints. De SaaS-applicatie wordt volledig ontwikkeld in PHP en Symfony. De module bestaat uit een stuk informatie verrijking en intelligentie wat resulteert in een medische check. De logica wordt daarom in de code geïntrigeerd. Je bent onder andere bezig met complexe databases waar meer dan 80.000 medicijnen op verschillende niveaus in staan, die maandelijks worden

Bekijk vacature »

Front-end Developer Angular

Dit ga je doen Jouw taken als Front End Developer bestaan uit: Het ontwikkelen van maatwerkoplossingen voor klanten; Het meedenken over nieuwe tools en technieken; Het begeleiden van junioren; Het meewerken aan diverse projecten; Het meedenken in UX/UI design. Hier ga je werken Als Front-End Developer ga je in een Scrum team aan de slag met de nieuwste digitale technologieën om klanten en overheden over de hele wereld te ondersteunen met het ondersteunen van hun software, veelal op het gebied van watermanagement en infra. Door middel van real-time data in combinatie met voorspellende analyses, AI, Deep Learning en Machine Learning

Bekijk vacature »

Embedded Software Developer Games

Functie omschrijving Heb jij affiniteit met hardware en wil jij kleuren binnen een Qt framework? Spreek jij de talen C en of C ++? Dan ben ik wellicht opzoek naar jou! Voor een super gave opdrachtgever in omgeving Delft is er namelijk plek voor een nieuwe kracht! Dit bedrijf is gespecialiseerd in het ontwerpen van software voor een unieke game industrie. Wil jij betrokken worden bij een proces dat loopt van ontwikkeling tot installatie? Waarbij je bezig zult zijn met perfecte systemen die geleverd worden aan binnen en buitenland? Je zult in een team, samen met vier ontwikkelaars, de mooiste

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 »

Senior PHP developer met ambities tot Software Arc

Functie Momenteel zijn ze op zoek naar een ervaren PHP developer die zichzelf graag bezighoudt met zaken als architectuur en de algehele verbetering van structuren en standaarden. Het is eigenlijk meer operationeel als uitvoerend omdat je bezig gaat met zaken als het verder uitrollen en verbeteren van testautomatisering, codereviews, tickets en de doorloop hiervan en architectuurkeuzes. Mocht je hiernaast ook wat DevOps kennis meenemen is dit mooi meegenomen! Vanwege het kleine team maar de wereldwijde impact die zij leveren is er veel focus op kwaliteit. In deze functie werk je aan één van hun belangrijkste applicaties. Hierin werk je nauw

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Back-end PHP Developer

Dit ga je doen Her- en uitbouwen van het inhouse softwareplatform dmv PHP; Onderhouden van bovengenoemd platform in PHP; Sparren met het team; Meedenken over nieuwe functionaliteiten, security etc; Jouw input leveren aan het proces door op de hoogte te blijven van nieuwe ontwikkelingen etc. Hier ga je werken Onze klant, gevestigd in de omgeving van Alkmaar, levert wereldwijd oplossingen op het gebied van IT. Dag in dag uit werken zij met veel passie aan hun product waarmee ze streven naar verbeteringen binnen zorg. Voor onze klant zijn we op zoek naar een medior PHP Developer. Je komt te werken

Bekijk vacature »
Veur Heur

Veur Heur

15/04/2022 09:33:25
Quote Anchor link
Voor een project waar ik binnenkort mee start is een login script vereist en ik verwacht dat men ook snel zal vragen om "ingelogd te blijven". Wat is hier de beste manier? Of zijn er verschillende manieren? Al Google-nd lees ik de sessie id opslaan in een cookie, die bij terugkeer te vergelijken met wat er in de database staat, maar is het dan niet mogelijk zelf een cookie te maken met die id om vervolgens ingelogd te zijn namens die gebruiker?

Tips?
 
PHP hulp

PHP hulp

26/04/2025 15:45:56
 
- Ariën  -
Beheerder

- Ariën -

15/04/2022 10:36:18
Quote Anchor link
Ikzelf raad PHP-sessies aan, maar na het sluiten van je browser ben je weer uitgelogd. Maar als je langdurig ingelogd wilt blijven kan je misschien een eigen sessie-afhandeling bouwen die in de database een unieke hash opslaat, waarbij je deze in een cookie opslaat, en uiteraard ook een cookie met de UserID. Dan is het een kwestie om te controleren of de gegevens overeen komen.

Ook raad ik aan om deze gemaakte inlogsessie te fixeren op een IP-adres, zodat je inlogpoging dubbel zo veilig is, ook al jatten ze je cookie via XSS (wat je sowieso wilt voorkomen), maar ook bij cookies kan je gebruik maken van Secured Cookies wat het veiliger maakt. En misschien kan je zelfs wat doen met 'browser-fingerprinting'.
 
Veur Heur

Veur Heur

15/04/2022 11:36:26
Quote Anchor link
Ik zou dus het IP en de sessie id bij het account in de database kunnen opslaan, de laatste ook in een cookie zetten. Bij terugkeer kijk ik of er een cookie is, is die er doe ik een check of er een account is met die sessie id + hetzelfde IP en kan deze gebruiker als ingelogd markeren.

Voegt een cookie met user id nog iets toe? Alleen maar informatie om hackers mee te voeden, toch?

Ik zie trouwens dat phphulp 2 cookies opslaan, 1 met sessie id en 1 met IP. Als ik echter mijn IP wissel, blijf ik gewoon ingelogd. In de manier zoals ik het omschrijf, zal dat nooit gebeuren lijkt me. En meer dan het IP adres heb ik niet om op te gaan. Ik kan niet het Mac address achterhalen bijv.
 
Rob Doemaarwat

Rob Doemaarwat

15/04/2022 11:58:56
Quote Anchor link
IP controle heeft alleen nut als het bijvoorbeeld om een zakelijke applicatie gaat, die de meeste gebruikers "op kantoor" zullen gebruiken. Ieder ander loopt met z'n mobiel van Wifi netwerk naar 4G en heeft steeds een ander IP-adres. Dan blijf je dus alsnog niet ingelogd (omdat je "IP adres controle" steeds faalt).

In plaats van een cookie kun je ook een (vrij lang) ID in de localStorage opslaan. Op het moment dat je dan redirect naar de loginpagina controleer je met javascript dit token, en als het correct is (bestaat in de database) redirect je meteen weer door naar de pagina waar de gebruiker in eerste instantie naar toe wilde. Hierdoor hoeft dit (vrij lange) token niet bij elke request meegestuurd te worden (zo werken cookies namelijk).

Nadat het "sessie token" is gebruikt om opnieuw te authenticeren kun je evt. een nieuw token uitdelen, zodat een "blijf ingelogd" token maar 1x kan worden gebruikt.

Voor extra veiligheid kun je bijvoorbeeld wel controleren waar het IP-adres precies vandaan komt ( https://dev.maxmind.com/geoip/geolite2-free-geolocation-data?lang=en ). Als dat opeens "een ander land" is laat je de gebruiker alsnog opnieuw inloggen.
 
Veur Heur

Veur Heur

15/04/2022 12:07:49
Quote Anchor link
localStorage is een javascript ding toch? Het plaatsen en controle dient dan (bijv.) met jQuery plaats te vinden?

localStorage is ook minder hackgevoelig?
 
Rob Doemaarwat

Rob Doemaarwat

15/04/2022 14:34:09
Quote Anchor link
Ja, is JavaScript. Nee, is niet minder hack gevoelig (je kunt er net zo "bij" als bij een cookie).

Het nadeel van een cookie is dat ie bij _elke_ request wordt meegestuurd (ook als je al lang en breed bent ingelogd) = overhead. Ook is de omvang van een cookie (van alle cookies samen) vaak beperkt (in de localStorage is meer ruimte), en is het dus zonde om die beperkte ruimte te besteden aan iets wat je maar 1x per sessie nodig hebt.
 
Veur Heur

Veur Heur

15/04/2022 15:53:59
Quote Anchor link
Dank voor de input, echter weet ik nog niet wat nu de beste aanpak is. IP = nee, die wijzigt als je van wifi naar 4g en terug hobbelt, alleen sessie id is hackgevoelig. Landherkenning is geen gek idee. Als het weinig uitmaakt qua veiligheid gaat mijn voorkeur naar cookies, die kan ik namelijk rechtstreeks met PHP aanspreken.

Ondertussen sta ik nog open voor andere ideeën.
 

15/04/2022 21:43:26
Quote Anchor link
Veur Heur op 15/04/2022 09:33:25:
... maar is het dan niet mogelijk zelf een cookie te maken met die id om vervolgens ingelogd te zijn namens die gebruiker?

Je wilt terecht waken voor "session hijacking", er zijn verschillende technieken voor.

De hele wereld werkt met willekeurige sessie ID's, die per sessie worden gegenereerd en alleen via HTTPS (via de HTTP-header) wordt meegegeven op zo'n manier dat je er niet bij kunt via JavaScript, dat is voor de veiligheid.

Dus:
- je verbindt met een HTTPS site
- je geeft je account en wachtwoord
- je controleert of het klopt en maakt een sessie ID die cryptografisch sterk is
- je geeft een nieuwe pagina met een cookie met die sessie ID
- bij elke nieuwe pagina controleer je of de sessie ID in de tijdelijke opslag (in een map of database) bestaat, daarmee is de gebruiker 'ingelogd'
- je houdt een verlooptijd bij, dat bijvoorbeeld de sessie verloopt bij 15 minuten inactiviteit

Voor het hele plaatje moet je hier kijken:
https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html

Als je sessies wilt gebruiken kan je 3 dingen doen:
- de vanille sessie functies gebruiken van PHP
- eventueel de SessionHandlerInterface implementeren om de database te gebruiken (veiliger dan /tmp)
- zelf sessiebeheer schrijven (wanneer je voldoende tijd hebt is dat het meest leerzaam)

Als je het nog uitgebreider wilt kan je sessiebeheer aan je database over laten, zodat je geen applicatie-account op je database nodig hebt. Met PostgreSQL functies met de optie SECURITY DEFINER kan je sessiefuncties maken zodat elke gebruiker z'n eigen databaseaccount heeft. Het voordeel is dat je autorisaties van elke gebruiker ook door de database kan laten doen. Het scheelt heel erg veel PHP code als je het op deze manier doet, maar er moet bij worden gezegd dat het niet de meest ideale situatie is voor gewone, niet al te ingewikkelde publieke websites.
Gewijzigd op 15/04/2022 21:45:35 door
 



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.