ingelogd blijven

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior PHP developer

Functie Het team bestaat inmiddels uit zo’n 25 collega’s met specialisten op het gebied van development, data(analyse), marketing, infrastructuur en finance. Ze hebben een supermodern pand en bieden hiernaast veel vrijheid en verantwoordelijkheid. Ze doen er alles aan om jou op te gemak te stellen. Zo kun je je eigen werkplek inrichten naar persoonlijke wensen, maar gaan ze bijvoorbeeld ook jaarlijks met elkaar wintersporten en zijn er andere leuke uitjes. Als onderdeel van één van de scrumteams ga je aan de slag, samen ben je medeverantwoordelijk voor het doorontwikkelen van hun business applicatie waar het traffic team dagelijks mee werkt.

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Voor een opdrachtgever in omgeving Zoetermeer zijn wij op zoek naar een ontwikkelaar ter versterking van het huidige developers team. Heb jij altijd al willen werken voor een bedrijf, dat veilige netwerkverbindingen levert, door middel van veilige oplossingen, die door middel van de nieuwste technologieën ontwikkelt zijn? Stop dan nu met zoeken! Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten

Bekijk vacature »

Junior Front end developer

Functie Als Front end developer binnen onze organisatie ga jij je bezig houden met het bouwen van de user experience van de webapplicaties. Je bent verantwoordelijk voor het vertalen van concepten, briefings en designs naar werkende functionaliteit. Hierbij zorg je ervoor dat applicaties betrouwbaar, veilig en toekomstbestendig zijn en een goede architectuur hebben en behouden. Verder denk je actief na- en mee over nieuwe ontwikkelingen en functionaliteiten om zo elke dag de klantervaring weer te verbeteren. Dit doe je natuurlijk niet alleen maar in een development team. Het team bedraagt momenteel 4 man bestaande uit 2 devops engineers en 2

Bekijk vacature »

C# .Net Developer

Dit ga je doen Het bouwen van Api's; Nieuwe oplossingen bouwen met C# .Net; De huidige software uitbouwen met C# .Net; Meewerken in projecten; Meedenken aan de toekomstplannen en verbeteringen; Onderdeel van het Scrum Team. Hier ga je werken Onze klant is een dienstverlenende organisatie voor diverse soorten organisaties in Nederland. Ze zijn van oorsprong een familiebedrijf en er is een open cultuur. Ze zijn vooruitstrevend op IT gebied en hebben een eigen inhouse development team van circa 11 man. Je komt hier te werken in het subteam .Net Core. Hier werken ze volgens scrum met de nieuwste technieken en

Bekijk vacature »

Senior .NET Developer I goed salaris en deels thui

Bedrijfsomschrijving Mijn opdrachtgever is al ruim 20 jaar een gevestigde naam in de wereld van software ontwikkeling, met drie kantoren in de Randstad, waaronder Alphen aan den Rijn. Zij richten zich op het bouwen van IT-oplossingen die ervoor zorgen dat de productiviteit van klanten te allen tijden optimaal is. Hiervoor neemt jouw nieuwe werkgever het volledige ontwikkelproces tot haar rekening; van het eerste gesprek om de klantwensen in kaart te brengen, tot aan het uiteindelijke onderhoud van de opgeleverde oplossing. In totaal werken er inmiddels bijna 200 gemotiveerde IT-ers binnen deze organisatie. De gemiddelde leeftijd ligt rond de 35. Het

Bekijk vacature »

Senior Java Ontwikkelaar

Dit ga je doen Werken aan uiteenlopende interne projecten voor grote (internationale) organisaties; Ontwikkelen van diverse (web)applicaties en platformen met technieken als Java, Azure en ASP.NET; Complexe vraagstukken tackelen met jouw expertise en ervaring; Waar nodig help jij je collega's om samen tot de juiste oplossing te komen. Hier ga je werken Als Java Developer kom je te werken bij een internationale organisatie in regio Amsterdam die zich richt op procesoptimalisatie door middel van zeer complexe IT oplossingen. Dit doen zij op het allerhoogste niveau met vestigingen over heel de wereld en met een groot aantal aansprekende, maatschappelijk betrokken klanten.

Bekijk vacature »

Cloud Engineer

Ben jij een ervaren Cloud Engineer die complexe omgevingen kan overzien en wil je graag in vaste dienst werken bij een professioneel en kleinschalig bedrijf waar je een belangrijke rol kan spelen? Wij, IntelliMagic in Leiden, ontwikkelen specialistische IT monitoring software die we als SaaS oplossing verkopen aan grote bedrijven in Europa en de VS. We zijn een Nederlands bedrijf met een goede sfeer en met grote waardering voor de persoonlijke inbreng en kwaliteiten van onze medewerkers. Wij zoeken een ervaren Cloud Engineer met academisch denkniveau die verantwoordelijk wordt voor het beheer van de cloud infrastructuur voor onze Europese klanten.

Bekijk vacature »

Als Front-end developer werken aan apps voor het o

Functie Als Front-end developer werk je intensief samen met 1 van de UX-designers en denk je mee over de gebruiksvriendelijkheid en design van onze web- en mobile apps. Je bent betrokken bij sessies met gebruikers om designs te valideren en usability van de app-in-wording te testen. Vervolgens gebruik je dit om samen met je team waarin ook back-end (.NET) developers zitten, te zorgen voor de realisatie van de best mogelijke apps voor studenten en docenten. Eisen • Je hebt een hands-on development en coding mind-set en werkt graag aan een high quality code base welke je consequent onderhouden kan worden

Bekijk vacature »

C# Ontwikkelaar

Functie omschrijving We are looking for a dutch native speaker Wil jij graag aan de slag als C# ontwikkelaar en jouw skills verder ontwikkelen? Zoek niet verder! Als C# ontwikkelaar ga je aan de slag met de volgende taken: (verdere) ontwikkeling van de software voor de interne processen binnen een .net omgeving; optimaliseren van de dataprocessing; ontwerpen en implementeren van zowel desktop- als web-programmatuur; ontwikkeling van tools ten behoeve van consultants en klanten. Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Den Bosch. Zij ontwikkelen business intelligence software voor een specifieke branche. Dit houdt in dat zij dashboards ontwikkelen

Bekijk vacature »

Lead Front-end developer

Functie Hun huidige applicatie worden ontwikkeld in o.a. React, Redux, TypeScript. Ze werken graag met de nieuwste technieken en tooling en zoeken ook developers die hier proactief op zoek naar gaan. Als senior/lead developer ben je een kartrekker in het team. Naast het meedenken over bijvoorbeeld de architectuur of toepassing van nieuwe technieken krijg je ook veel tijd om de meer junior (front-end) developers te begeleiden. Zo kun je bijvoorbeeld 1 dag in de week met 2 collega’s bezig zijn om samen met hen te kijken naar hun ontwikkeling, doelstellingen en uiteraard de gewenste begeleiding hierin. Hiernaast sta je als

Bekijk vacature »

Software Programmeur

Functie omschrijving Voor een informele club in omgeving Delft zijn wij op zoek naar versterking. Ben jij op zoek naar een nieuwe uitdaging als Software Programmeur lees dan snel verder! Als ontwikkelaar kom je terecht op een afdeling van 6 medewerkers. Werkzaamheden Programmeur Je bent bezig met het ontwikkelen van software en webapplicaties. Je kunt technische klussen uitvoeren op locatie. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een project goed verloopt. Je zult klanten ondersteunen. Verder zul je technische ontwerpen en gebruikersdocumentaties schrijven en deze onderhouden. Er wordt voornamelijk gewerkt met PHP, Java en

Bekijk vacature »

ERP Developer fleet managementsysteem

Wat ga je doen als ERP Developer fleet managementsysteem? Als ERP developer speel jij een belangrijke rol bij het doorvoeren van wijzigingen en verbeteringen binnen het fleet managementsysteem. Jouw expertise op het gebied van ERP systemen stelt jou in staat om de applicatie optimaal te laten functioneren en te blijven ontwikkelen. Als lid van het IT-team werk je nauw samen met andere developers en het business team om het fleet managementsysteem te integreren met andere systemen. Je bent verantwoordelijk voor het ontwikkelen van nieuwe functionaliteiten en het implementeren van verbeteringen op basis van de wensen en eisen van onze klanten.

Bekijk vacature »

Full stack developer Node.js, React Remote

Functie Als fullstack JavaScript developer vind jij het uitdagend om op basis van concrete klantvragen nieuwe functionaliteiten te ontwikkelen. Bij voorkeur worden deze functionaliteiten op een bepaalde manier geprogrammeerd, zodat ze door meerdere klanten te gebruiken zijn. Je hebt dus vaak te maken met abstracte vraagstukken. Om dit te kunnen realiseren sta je nauw in contact met de product owner en/of klant. Je bent niet alleen onderdeel van het development team, maar hebt ook vaak contact met de product-owner en/of klanten om daardoor inzichten te verzamelen die leiden tot productverbeteringen. • Inzichten verzamelen bij de klant en/of product owner •

Bekijk vacature »

Full Stack Software Developer C#.NET

Functieomschrijving Wij zijn op zoek naar een gepassioneerde Full Stack C#.NET Software Developer. Als Software Developer ben je verantwoordelijk voor het ontwikkelen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere ontwikkelaars en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Ontwikkelen en onderhouden van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Testen en valideren van de ontwikkelde software. Actief deelnemen aan code reviews en bijdragen aan het verbeteren van de kwaliteit van de software. Je gaat aan

Bekijk vacature »

Junior .NET Developer

Dit ga je doen Als junior .NET Developer lever je met jouw oplossingen direct een bijdrage aan de bedrijfsprocessen van de klanten. Werkzaamheden waar jij je zoal mee bezig houdt zijn; Het ontwikkelen, onderhouden en optimaliseren van de draaiende platforms van de klanten; Softwareontwikkeling middels C#, .NET; Klantcontact om de wensen te bespreken en uit te werken; Optimaliseren van de (huidige) bedrijfsprocessen; De IT-afdeling bestaat uit 30 personen verdeeld over 3 teams. Het team waar je in terecht komt bestaat uit ongeveer tien man. Het is een team wat bestaat uit betrokken collega’s, waar iedereen bereidt is om elkaar te

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

06/01/2025 23:54:09
 
- 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.