ingelogd blijven

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET developer

Functie Als .NET ontwikkelaar ga jij aan de slag bij een van onze klanten actief in de High Tech Industrie. Onze klanten zijn voornamelijk gelokaliseerd in de omgeving van Eindhoven. Wij zijn erg selectief als het gaat om de projecten die wij accepteren en richten ons dan ook alleen op innovatieve en complexe projecten. Omdat onze klanten voornamelijk gespecialiseerd zijn in de machinebouw, werk jij ook vaak dicht tegen de machines aan. Ons team bestaat momenteel uit Embedded engineers, IOT developers en Cloud engineers. Wij werken voornamelijk aan Microsoft projecten waar er gebruik wordt gemaakt van WPF, UWP, .NET Core

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 »

C# .NET Software Ontwikkelaar

Functie omschrijving Gezocht: Software Developer C# .NET voor een dynamische organisatie! Ben je onlangs afgestudeerd of ben je toe aan de volgende stap in je professionele carrière? Lees dan verder! We zijn momenteel op zoek naar een Software Developer die klaar is voor een nieuwe uitdaging en die onze eindklant in de regio Arnhem kan versterken. In deze functie werk je aan verschillende projecten en bezoek je vaak klanten. Je kunt een rol verwachten met veel uitdaging, diversiteit en verantwoordelijkheid. Bedrijfsprofiel Binnen welke organisatie ga je aan de slag? Je gaat werken bij een organisatie die zich specialiseert in het

Bekijk vacature »

Java Full Stack Developer

Java Full Stack developer What makes Cognizant a unique place to work? The combination of rapid growth and an international and innovative environment! This is creating a lot of opportunities for people like YOU — people with an entrepreneurial spirit who want to make a difference in this world. At Cognizant, together with your colleagues from all around the world, you will collaborate on creating solutions for the world's leading companies and help them become more flexible, more innovative and successful. And this is your chance to be part of the success story: we are looking for a (Senior) Java

Bekijk vacature »

Low Code Developer - Consultant

Functie omschrijving Wil jij fungeren als een spin in het web en samenwerken met klanten? Voor een leuke en interessante opdrachtgever in omgeving Leiden zijn wij op zoek naar een Low Code developer die zich bezig gaat houden met het optimaliseren van bedrijfsprocessen bij klanten en het leiden van projecten. Ben jij toe aan een nieuwe uitdaging en heb jij verstand van datamodellering en NO CODE Platformen? Lees dan snel verder! Bij deze rol horen de volgende werkzaamheden: Je gaat geen code kloppen maar bedenken hoe applicaties eruit moet komen te zien. Je gaat werken met een non code platform,

Bekijk vacature »

Applicatieontwikkelaar Java EE

Bedrijfsomschrijving De IV- organisatie van de Belastingdienst is verantwoordelijk voor en verzorgt de ICT- voorzieningen. Het merendeel van de applicaties wordt op dit moment door de IV- organisatie zelf ontwikkeld, onderhouden en beheerd in het eigen data center. Naast de zorg voor continuïteit op de massale heffing- en inningsprocessen die plaatsvinden binnen een degelijke, stabiele omgeving, wordt er tevens volop gewerkt aan modernisering van het IV- landschap. Dit gebeurt deels intern door gebruik te maken van de expertise die intern aanwezig is, maar ook door het aantrekken van (kant-en-klaar) oplossingen en expertise uit de markt. Functieomschrijving De afdeling IV –

Bekijk vacature »

Java developer (remote)

Functie Wat ga je doen als Java Developer? Jij als Java ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 ontwikkelaars binnen onze organisatie waarbij jij de brug slaat tussen het bouwen van verschillende functionaliteiten binnen onze applicaties en deze vervolgens te integreren in onze centrale hub. Je start je dag om 9 uur met een stand up en dan pak je jouw taken op voor de dag. Hieronder een aantal taken die jij zal uitvoeren: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden

Bekijk vacature »

Junior Fullstack Developer

Functie omschrijving Heb jij je universitair diploma Informatica afgerond en ben jij op zoek naar een startersfunctie waar jouw ontwikkeling in een hoog vaandel staat? Voor een softwarebedrijf in Amsterdam zijn wij op zoek naar een Junior Fullstack Developer. Je begint met een op maat gemaakte training om de kennis bij te spijkeren die jij nog mist. Uiteraard leer je het meeste tijdens je werk, maar de training geeft je hiervoor alvast de juiste handvatten. Je kunt het volgende verwachten! Jij ontwikkelt in technieken als Java, Javascript en SQL. Je werkt hierbij volgens de Agile/Scrum methode; Na het afronden van

Bekijk vacature »

PHP ontwikkelaar

Functie Jij komt te werken in een development team van 9 man. Het grootste deel doet back end development en daarnaast is er 1 teamlead en 1 tester in het team. Dit Agile team is van groots belang voor de organisatie omdat zij voornamelijk alle eigen systemen in-house ontwikkelen. Naast het door ontwikkelen van het bestaande platform en de software die daarbij komt kijken, zul jij je ook bezighouden met het realiseren en opzetten van nieuwe projecten binnen het bedrijf. Je staat nauw met de klant in contact om zo hun wensen zo goed mogelijk te kunnen realiseren. Daarnaast ontwikkel

Bekijk vacature »

Lead javascript developer Node.js React

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 »

Traineeship Front-end developer (WO, 0 tot 3 jaar

Functie Zoals beschreven ga je vanaf start aan de slag bij een passende opdrachtgever, hierbij kijken ze echt naar jouw wensen, kennis/ervaring maar ook de reisafstand. Momenteel hebben ze meerdere klanten waarbij ze groepen hebben opgezet wat maakt dat er diverse uitdagende kansen liggen. Naast het werken bij de opdrachtgever, en het volgen van de masterclasses, zul je regelmatig met de andere trainees in contact zijn. Niet alleen op professioneel vlak maar juist ook bij de borrels en kwartaaluitjes! Kortom; een jaar lang hard aan jezelf werken in combinatie met gezelligheid en plezier. Spreek dit jou aan? Dan komen we

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 »

Back-end developer

Dit ga je doen Development d.m.v. XQuery, JSON/XML en REST API's; Ontwikkelen aan een tof en complex zorgplatform; Koppelingen maken met de NoSQL database; Testen en documenteren van de ontwikkelde functionaliteiten; Samenwerking met andere front- en back-end ontwikkelaars. Hier ga je werken Voor een vooruitstrevende organisatie binnen de zorg in Den Haag zijn wij opzoek naar een Back-end Developer die ervaring heeft met o.a.XQuery en Vue.JS of daarin graag zou willen ontwikkelen. Je zal ontwikkelen aan een tof en complex zorgplatform en koppelingen maken met de NoSQL database. Ook het testen en documenteren van de ontwikkelde functionaliteiten behoort tot jouw

Bekijk vacature »

Senior C# Software Ontwikkelaar te Zaandam

Bedrijfsomschrijving Deze werkgever heeft als missie om haar klanten op ICT-gebied volledig te ontzorgen. Ze zijn een ICT bedrijf met een verscheidenheid aan ICT oplossingen waaronder Cloud oplossingen en een groot deel van het werk is gericht op software realisatie. Voor de Enterprise-klanten voert het relatief kleine ontwikkelteam waar jij deel uit van kan gaan maken binnen deze organisatie te Zaandam de grootste opdrachten uit. Niet alleen websites en complexe webapplicaties maar ook mobile apps, web services en complete systeemintegraties! Je moet dan denken aan Dynamics, Sharepoint en Salesforce. Je komt hier terecht in een relatief kleine organisatie met ontzettend

Bekijk vacature »

Software Developer PHP

Functie omschrijving We are looking for a dutch native speaker Voor een opdrachtgever in de regio van Geldrop ben ik op zoek naar een Software Developer PHP. Jij krijgt een rol met veel verantwoordelijkheid in een groeiende organisatie. In deze functie werkt je voornamelijk remote en op een vast moment kom je met het team samen, om samen te werken en nieuwe doelen te bepalen. Wat ga je doen? Je wordt verantwoordelijk voor de interne applicatie; Je zorgt voor de doorontwikkeling van de applicatie: zowel back-end, front-end; De basis van het werk betreft front-end technieken; Periodiek bepaal je samen met

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

01/06/2024 14:00:55
 
- 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.
 
Ad Fundum

Ad Fundum

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 Ad Fundum
 



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.