ingelogd blijven

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

PHP developer

Functie omschrijving Voor een klein bedrijf in de buurt van Nieuwegein zijn wij per direct op zoek naar een talentvolle PHP developer. Er wordt veel ruimte geboden voor eigen initiateven, waardoor je een mooie stempel kan drukken op jouw eigen werkzaamheden (zowel operationeel als strategisch). Het bedrijf heeft middels externe programmeurs een multimedia platform ontwikkeld, maar willen geleidelijk de ontwikkeling naar binnen halen. Om die reden zoeken zij een communicatieve interne PHP developer die graag meebouwt aan het succesvolle product. Je gaat de volgende werkzaamheden verrichten: Platform beheren en programmeren (PHP, MySQL, JQuery, Javascript, XML & HTML); Communicatie en aansturing

Bekijk vacature »

Junior Developer Low-code

Dit ga je doen Low-code ontwikkeling van software voor landelijk bekende organisaties; Samenwerken in een team van 10 collega's; Opleveren van mooie eindproducten, middels de Agile methodiek; Direct contact met de eindklant over de gewenste oplossingen. Hier ga je werken Als startende IT-professional 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 discreet en veilig verwerkt worden. De processen die hierbij horen worden door het IT team vormgegeven.

Bekijk vacature »

Front-end developer

Functie Jij komt te werken in een team van 5 developers. het product is continue in beweging. Nieuwe en bestaande klanten vragen om vaak nieuwe features. Hierin ben jij zeer belangrijk om te zorgen dat de functionaliteiten goed opgezet worden op technisch vlak. Designs krijg je aangeleverd van een externe partij zodat jij je primair kan focussen op de techniek! Je hebt daarbij alle vrijheid om je eigen creativiteit toe te passen en mee te denken over de gebruikte technieken. Het gezamenlijke doel is een product dat functioneel zeer gebruiksvriendelijk is en het bedrijfsproces van de gebruikers versneld en kwalitatief

Bekijk vacature »

SQL ontwikkelaar

Functieomschrijving Voor een gave werkgever in regio Breda zijn wij per direct op zoek naar een SQL ontwikkelaar/ functioneel consultant. Hier wordt jij mede verantwoordelijk voor zowel de design en implementatie van SQL-databases als voor het verstaan van de processen van klanten naar het vertalen van deze processen naar IT-oplossingen. Jouw takenpakket komt als volgt uit te zien: Je test de ontwikkelde oplossingen om er zeker van te zijn dat deze voldoen aan de functionele specificaties en de behoeften van de organisatie; Je ontwerpt, ontwikkelt en implementeert SQL-databases om de data behoeften van de organisatie te ondersteunen; Je stelt op

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

Front-end Developers opgelet! Bij Luminis zijn ze opzoek naar jou. Lees de vacature en solliciteer direct. Luminis is een software- en technologiebedrijf met meerdere vestigingen. Vanuit deze vestigingen werken 200 professionals aan technisch hoogwaardige oplossingen voor klanten zoals KLM, Nike en Bol.com. Ook ontwikkelt Luminis eigen oplossingen op het gebied van cloud, Internet of Things, data intelligence, e-sports en e-learning. Luminis onderscheidt zich door aantoonbaar voorop te lopen in technologie en innovatie. Luminis heeft drie kernpunten die verankerd zitten in alles wat we doen: het omarmen van nieuwe technologie, meesterschap en kennis delen. Functiebeschrijving First things first! Het is belangrijk

Bekijk vacature »

Frontend Developer

Dit ga je doen Door ontwikkelen van het online platform Deel uitmaken van verschillende ontwikkelteams Meedenken over UI/UX vraagstukken Uitdragen van Front-end binnen de organisatie Hier ga je werken Deze organisatie, gevestigd in de omgeving van Amsterdam, is een grote onderwijs instelling met meerdere vestigingen en een groot aantal studenten. Zo telt deze organisatie +/- 35.000 gebruikers. Bij deze organisatie staat jouw ontwikkeling centraal en is er veel ruimte voor eigen initiatieven. In samenwerking met jouw team ga jij de online omgeving verder ontwikkelen. In de rol van Front end Developer zal jij 50% van jouw tijd werken in het

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc 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

Bekijk vacature »

Java developer

Als Java Developer bij Sogeti ben je onderdeel van onze toonaangevende community die bestaat uit ruim 100 gepassioneerde professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze klanten. Geen werkdag is hetzelfde, je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfskritische systemen. Een voorbeeld hiervan is een cliënt-volgsysteem bij Reclassering Nederland. Andere klanten waar wij onder andere voor werken: KPN, Philips, Nationale-Nederlanden, Kamer van Koophandel, ABN AMRO, Bovemij, Arval en de Politie. Werken bij Sogeti Nieuwe ontwikkelingen volgen we op de voet en delen we binnen de

Bekijk vacature »

Full-stack developer

Als Full-stack developer bij KUBUS houd je je bezig met het ontwikkelen van de (web)applicatie en services van BIMcollab. Samen met je SCRUM team werk je aan zowel de front- als de back-end. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein genoeg om als individuele ontwikkelaar invloed uit te kunnen oefenen en echt het verschil te kunnen maken. Ons ontwikkelteam bestaat uit ruim 40 ontwikkelaars, testers, scrum

Bekijk vacature »

Senior Cobol Applicatieontwikkelaar

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 In de applicatie ETM

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET developer begint jouw dag na een bak koffie met een stand up. De vorderingen worden tijdens de stand up besproken en de doelen worden opgesteld waar jullie als team in de volgende sprint naartoe gaan werken. Onze backend is geschreven in .NET Core en onze Front-end in Angular. Bij ons ga jij dan ook Fullstack aan de slag. Jij wordt hier opgeleid om zelfstandig te kunnen programmeren en applicaties te kunnen implementeren. Er wordt op projectbasis gewerkt, dit bied leuke uitdagingen omdat elke klant een andere visie heeft over de applicatie die wij maken. Je gaat

Bekijk vacature »

Software Ontwikkelaar .NET te Zaandam

Bedrijfsomschrijving Je komt hier terecht bij een door-en-door softwarebedrijf, waarbinnen meerdere SaaS pakketten worden ontwikkelt voor diverse sectoren. Hierbij kun je denken aan bijvoorbeeld de logistieke en medische branche. Deze organisatie kenmerkt zich door de hoge mate van complexiteit in de applicaties, wat betekent dat jij je hier niet zal gaan vervelen. Integendeel: Jij gaat hier elke dag ontzettend veel leren en je in razend tempo ontwikkelen als C# .Net Developer met focus op back-end. Het team bestaat uit ongeveer 20 personen personen, waarvan het grootste deel zich richt op software development. De sfeer is informeel en professioneel. De producten

Bekijk vacature »

Ervaren PHP ontwikkelaar

Functie Jij als PHP ontwikkelaar komt te werken in een team van 4 andere PHP ontwikkelaars. Je zult je voornamelijk bezig houden met: – Het ontwikkelen van nieuwe features – Doorontwikkelen van de API – Nadenken over de technische infrastructuur – Datakwaliteit Samen met het team ben jij verantwoordelijk voor de verdere ontwikkeling van de software en om de positie als marktleider in Europa te behouden. Ze werken volgens SCRUM in 2 wekelijkse sprints, werken met Jira voor alle tickets en communiceren veel via Slack. Eisen • Minimaal 3 jaar ervaring als back end developer • Je hebt affiniteit met

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc 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

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

09/05/2024 18:57:24
 
- 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.