client fingerprint

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software developer

Functie Momenteel zijn ze op zoek naar een Software developer die, veelal fullstack, mee gaat werken aan de ontwikkeling van de producten en zo helpt aan de uitvoering van hun ontwikkelprojecten. Je komt te werken binnen hun development team bestaande uit 6 ontwikkelaars. Ze staan zowel open voor meer junior als medior/senior developers. Je kunt snel veel verantwoordelijkheid krijgen en doorgroeien binnen het bedrijf. Bovendien ben je betrokken bij het bepalen van de product roadmap en de inbreng van (nieuwe) technologieën. De applicaties waaraan je werk worden gebruikt op onderwijsinstellingen door heel Nederland. De tech-stack bestaat voornamelijk uit Laravel (PHP),

Bekijk vacature »

Junior .NET developer

Functie Ons programma is voor afgestudeerde enthousiastelingen die het als een uitdaging zien om met een klein dynamisch team bij de grootste bedrijven van Nederland aan de slag te gaan. Tijdens jouw dienstverband word jij begeleid door een talent manager. Het ontwikkelen van jouw talent staat hierbij centraal. Het programma doorloop je met een team van circa 8 Mede- trainees. De eerste maand start je met een fulltime inhouse opleiding. Deze staat geheel in het teken van de werkzaamheden die jij verder in het programma zult uitvoeren. Na deze opleidingsmaand ga je aan de slag in een dynamische omgeving bij

Bekijk vacature »

Front-end Developer vue.js node.js SaaS

Dit ga je doen Het ontwikkelen van nieuwe features die bijdragen aan de groei van de klanten van de organisatie; Je denkt mee over nieuwe innovaties, features en verbeteringen in de applicatiearchitectuur; Je draagt bij aan de continue ontwikkeling van jouw team doordat je elke dag streeft naar het verbeteren van jouw eigen prestaties; Je neemt actief deel aan Scrum meetings en de Frontend Guild. Hier ga je werken Voor een snel groeiend bedrijf de regio Nieuw Vennep zijn wij opzoek naar een ervaren Front-end Developer. De organisatie is actief in de e-commercebranche en ontzorgt haar klanten middels een SaaS-platform.

Bekijk vacature »

Developer Full Stack

Functie omschrijving Full Stack Developer gezocht! Wij zijn op zoek naar een Full Stack Developer voor een bedrijf in de regio Nijkerk. Je maakt in deze functie onderdeel uit van een groeiend team met een goede ambitie waarbij eenheid, betrokken en overtreffen de belangrijkste kernwaardes zijn. Het bedrijf werkt volgens de AGILE/SCRUM methode, wat je o.a. terug vindt in de tweewekelijkse sprints, retrospectives en een daily standup. Je takenpakket bestaat uit: Bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van een Saas applicatie; Bijdragen aan de innovatie van het bedrijf en hun klanten; Het ontwikkelen op de laatste technologie van

Bekijk vacature »

Cloud Developer

Cloud 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 »

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 Gouda 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! Onderdelen van jouw functie: 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

Bekijk vacature »

Java Developer

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 »

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 »

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 »

Cymer Patch Server Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Veldhoven Vacature ID: 12919 Introductie This new patch server will be built on Python and Django ReST and GraphQL services with a React frontend, it will consist of several microservices and run on a Kubernetes cluster. It will be supported by several middleware applications such as ElasticSearch, Redis, RabbitMQ, Oracle and Artifactory. Functieomschrijving The Patch Admin team always aim to deliver software at a high quality, we avoid sacrifices here to maintain our velocity. Practically this means that we practice test driven development and perform end-to-end automated testing on our software. This means

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 »

Software Developer

Functie omschrijving Veel begeleiding en de kans om je verder te ontwikkelen als software developer. Dat kunnen wij jou bieden bij deelname aan deze leuke traineeship. Je krijgt een mentor toegewezen die jou alle kneepjes van het vak leert. Heb jij al wat ervaring als software developer? Daar worden wij heel blij van! Lees snel verder! Bedrijfsprofiel Als software developer neem je deel aan een trainings programma in de omgeving van Haarlem waar je persoonlijk wordt begeleidt, zodat je alle kneepjes van het vak leert. Aan de hand van jouw kennis en ervaring krijg je een persoonlijk opleidingstraject. Je gaat

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 »

Full stack developer Python, React

Functie Jij als full stack developer komt binnen onze Technology afdeling te werken. Deze bestaat momenteel uit 15 man. De stack waarmee wij werken is voornamelijk Python, Javascript, React en GraphQL. Binnen deze afdeling wordt er met multidisciplinaire teams gewerkt aan verschillende projecten. Projecten duren vaak langer dan 3 maanden en je bent van begin tot eind vaak betrokken. Naast dat je als full stack ontwikkelaar aan de slag gaat ben je ook Consultant. Dit betekent dat je ook klantcontact hebt in je rol en werkshops geeft. De verhouding tussen deze werkzaamheden zijn ongeveer 70% development en 30% consultancy. Een

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 »
Ozzie PHP

Ozzie PHP

30/03/2014 17:33:23
Quote Anchor link
Ola,

Wat kun je allemaal gebruiken om een "fingerprint" van een client te maken?

Ik dacht aan de languages, de encoding methods en de user agent. Zijn er nog meer mogelijkheden?
 
PHP hulp

PHP hulp

29/11/2024 04:47:01
 
Ward van der Put
Moderator

Ward van der Put

30/03/2014 19:26:31
Quote Anchor link
sha1(user-agent . ip-adres)
 
Ozzie PHP

Ozzie PHP

30/03/2014 19:50:31
Quote Anchor link
Ward, een ip-adres gebruiken in de fingerprint lijkt me niet slim. Dat kan tijdens een sessie wijzigen.

Maar jij gebruikt alleen de user-agent en niet de languages en encoding types?
 
Ward van der Put
Moderator

Ward van der Put

31/03/2014 07:15:17
Quote Anchor link
Een fingerprint kan ook wijzigen: bijvoorbeeld de header User-Agent kan veranderen na de installatie van een plug-in en zelfs na de automatisch installatie van een update van een plug-in.

Maar ik heb wel eens gelezen (en kon het helaas niet terugvinden) dat op het niveau van één site alleen al de header User-Agent zó uniek is dat deze zich leent voor een persoonlijke fingerprint van elke bezoeker. Hangt er statistisch natuurlijk ook van af of je jaarlijks 10.000 unieke bezoekers of 10 miljoen unieke bezoekers hebt.
 
Ozzie PHP

Ozzie PHP

31/03/2014 12:40:51
Quote Anchor link
Ik ben er inmiddels achter dat "fingerprint" misschien een iets te zware benaming is voor wat ik wil.

Op internet zie ik namelijk scripts die via javascript en flash ook nog allerlei info van je computer halen. Bijv. welke lettertypes er allemaal op staan. En op die manier krijg je inderdaad een unieke fingerprint.

Wat ik zoek is eigenlijk iets "lichter". Ik heb nu dus een string gemaakt van de user-agent, de languages en encoding methods. Wat ik wil bereiken is dat wanneer tijdens een sessie deze string verandert, dat ik dan de sessie vernietig. Zodra deze gegevens namelijk veranderen tijdens een sessie, zou dat inhouden dat er van browser is gewisseld. En dat kan niet, dus op dat momnent gaat het vermoedelijk om een hack-poging.

Mijn enige vraag die ik nu nog heb is...

Wat is de beste manier om deze string te hashen, zodat ik hem gedurende een sessie kan controleren? Dus stel de string is (versimpeld):

$string = 'nl,en-gzip-mozilla';

Dan wil ik daar een hash van maken. Welk algoritme is daarvoor het meest geschikt? Omdat de controle bij iedere pagina-aanroep moet plaatsvinden moet het een heel snel algoritme zijn, want de client mag er niks van merken. Waar moet ik voor kiezen? Md5, sha1, sha256, sha512? Kan iemand daar advies over geven?
 
Ward van der Put
Moderator

Ward van der Put

31/03/2014 12:51:11
Quote Anchor link
Die beveiliging werkt niet goed. Een hacker die een sessie probeert te kapen, kan (en zal) de headers van de echte client namelijk vervalsen.

Je kunt beter een token uitwisselen dat bij elke response verandert en vervolgens bij elke volgende request moet worden geretourneerd. Retourneert de client het verkeerde token, dan vernietig je de sessie.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$token
= md5(mt_rand());
?>
 
Ozzie PHP

Ozzie PHP

31/03/2014 12:59:55
Quote Anchor link
>> Die beveiliging werkt niet goed. Een hacker die een sessie probeert te kapen, kan (en zal) de headers van de echte client namelijk vervalsen.

Kun je uitleggen wat je hiermee bedoelt? Het is overigens niet de enige vorm van security die ik wil inbouwen, maar zie het als een "extraatje".

Stel ik gebruikt IE10 en ben ingelogd. Vervolgens probeer jij mijn sessie te stelen. De hashes worden gecontroleerd. Aangezien jij Firefox gebruikt zijn de hashes ongelijk (als gevolg van een verschillende user-agent). Boem, de sessie wordt vernietigd.

Waarom zou dat niet werken? Een hacker weet van tevoren niet welke browser ik gebruik en welke languages. Zodra hij een sessie te pakken krijgt is het al te laat. De hashes matchen niet dus de sessie wordt vernietigd. Toch?
 
Ward van der Put
Moderator

Ward van der Put

31/03/2014 13:05:38
Quote Anchor link
>> Waarom zou dat niet werken? Een hacker weet van tevoren niet welke browser ik gebruik en welke languages.

Die aanname is verkeerd. Een hacker kan op verschillende manieren de headers van jouw browser ontfutselen. Hij kan je bijvoorbeeld naar een webpagina lokken of je webmail met een plaatje laten openen; dat is al voldoende om de standaardheaders van Ozzies browser te ontfutselen.
Gewijzigd op 31/03/2014 13:05:56 door Ward van der Put
 
Ozzie PHP

Ozzie PHP

31/03/2014 13:19:42
Quote Anchor link
Het is ook niet bedoeld als waterdichte beveiliging. Het is een "extraatje".

Laten we er vanuit gaan dat die hacker "op de gok" wat sessie-ids gaat proberen, en hij schiet een keer raak. Helaas, z'n browser matcht niet. Sessie wordt beëindigd.

Het voorbeeld wat jij noemt snap ik ook, maar de hacker moet dan al weten dat hij mijn headers nodig heeft. Als ie dat niet weet gaat ie al de mist in.

Het is dus puur een extra stukje veiligheid.

Rest mijn vraag... welke algoritme kan ik gebruiken voor het vergelijken van de strings? Ik lees her en der dat md5 en sha 1 wordt afgeraden tegenwoordig?
 
Ward van der Put
Moderator

Ward van der Put

31/03/2014 13:31:42
Quote Anchor link
Maar waarom dan niet een extra beveiliging inbouwen die wèl werkt?

>> Rest mijn vraag... welke algoritme kan ik gebruiken voor het vergelijken van de strings?

Als je de clientheaders in de sessie opslaat, dus op de server, is helemaal geen hash nodig. Een snel algoritme zoals MD5 is voldoende als je toch een hash wilt opslaan.

>> Ik lees her en der dat md5 en sha 1 wordt afgeraden tegenwoordig?

Als je de hash deelt met de client wel, maar daarvan is bij het beveiligen van een sessie met de hash van een clientheader geen sprake. Je hebt zelfs helemaal geen hash nodig, zoals gezegd.
 
Ozzie PHP

Ozzie PHP

31/03/2014 13:37:08
Quote Anchor link
>> Als je de hash deelt met de client wel, maar daarvan is bij het beveiligen van een sessie met de hash van een clientheader geen sprake. Je hebt zelfs helemaal geen hash nodig, zoals gezegd.

Je bedoelt dat je gewoon de niet-gehashte string zou kunnen opslaan?

Als dat is wat je bedoelt, dan heb je gelijk. Een hash is echter korter, dus minder ruimte om op te slaan en sneller om te vergelijken. Dus vandaar lijkt me dat wel handig. Maar oké... een simpel algoritme volstaat dus begrijp ik uit wat jij zegt :)
 
Ward van der Put
Moderator

Ward van der Put

31/03/2014 13:39:32
Quote Anchor link
>> Een hash is echter korter, dus minder ruimte om op te slaan en sneller om te vergelijken.

Wel kleiner, maar daarom niet per se sneller: je moet immers wel minstens twee keer de hashfunctie aanroepen en dat kost ook tijd.
 
Ozzie PHP

Ozzie PHP

31/03/2014 13:41:33
Quote Anchor link
Yup, heb je ook weer een punt. Ik zal het wel ff benchmarken. Thanks.
 



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.