client fingerprint

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

PHP Developer

Functie Middels Scrum en sprints bouw jij in deze functie mee aan complexe webapplicaties en ons SaaS platform. Hierbij hoort ook architectuur tot een van je taken. Daarnaast ben je één van de leden van het Scrum team. Dat betekent dat je naast je kerntaken ook in contact staat met de product owner. Oftewel, je bent bij het gehele ontwikkelproces betrokken. Tools die hierbij gebruikt worden zijn o.a. PHP, Symfony en Git. Eisen • Minimaal HBO werk- en denkniveau • Minimaal 3 jaar aantoonbare ervaring met PHP • Kennis en ervaring Symfony (Laravel is pré) & Lando • Kennis 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 »

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 »

Ervaren PHP Developer

Functie omschrijving Jelling IT zoekt ervaren PHP developer! Voor een organisatie in de regio Rhenen zijn wij op zoek naar een ervaren PHP developer die gaat functioneren als een verlengstuk van de klant. Jij bent iemand die technisch complexe zaken met enthousiasme aanvliegt. Je bent in staat om aan meerdere projecten te werken en werkt graag met de nieuwste technieken. In deze functie werk je veel samen met front-end developers en stel je alles in het werk om grote verschillen voor de klanten teweeg te brengen. Verder ben jij iemand die graag zichzelf uitdaagt en die altijd de beste wilt

Bekijk vacature »

T-SQL Database developer

Functie omschrijving Ben jij een ETL database specialist? Houd jij ervan om te puzzelen met Databases, Query's & Stored procedures? Zoek jij uitdaging, vrijheid en verantwoordelijkheid? Zoek dan niet verder! Wij zijn per direct op zoek naar medior en senior database developers. Je gaat werken voor een relatief klein softwarebedrijf in omgeving Tilburg. Samen met 12 collega's (allemaal techneuten), ga jij je bezig houden met het bouwen en/of onderhouden van database software. Deze software wordt internationaal ingezet voor het automatiseren van logistieke processen. Jouw werkzaamheden gaan er als volgt uit zien: Je bent in een klein team met developers, verantwoordelijk

Bekijk vacature »

Senior PHP Developer

Als Senior PHP Developer bij Coolblue zorg je ervoor dat onze webshops elke dag een beetje beter zijn en coach je andere developers op de hard en soft skills. Wat doe je als Senior PHP Developer bij Coolblue? Als PHP Developer werk je met andere development teams samen om onze webshop zo optimaal mogelijk te laten werken en onze klanten blij te maken. Hoewel je een PHP Developer bent, sta je open om C# of Typescript in te zetten of te leren. Ook PHP Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

.Net ontwikkelaars voor de zorgsector

Bedrijfsomschrijving Voor onze klant in de omgeving van Zwolle zijn wij op zoek naar een ervaren .Net ontwikkelaar, bij voorkeur met ervaring binnen de belangrijkste sector van Nederland, namelijk: de zorgsector. Deze internationale organisatie ontwikkelt software voor de zorgsector. Er werken zo'n 25 medewerkers hard aan een oplossing die gebruikt wordt door heel Nederland. Er heerst een informele sfeer waarbij er altijd ruimte is voor een grapje. Je collega's zijn stuk voor stuk sterke ontwikkelaars vanuit verschillende achtergronden en met verschillende leeftijden. Je komt hier terecht in een organisatie die zich hard inzet om de zorgsector te verbeteren. De mogelijkheden

Bekijk vacature »

Senior Product Developer

Functieomschrijving Als senior Product Developer ben je verantwoordelijk voor bestaande mobiliteitsproducten en de ontwikkeling van nieuwe mobiliteitsconcepten. Met behulp van diverse klantonderzoeken, klantsessies en salesmeetings zorg je ervoor dat je de veranderende mobiliteitsbehoeften in de markt kent. Hier speel je op in door innovatieve, flexibele, efficiënte en duurzame vervoersoplossingen te bedenken, te ontwikkelen, te implementeren en uiteindelijk samen met Sales en Marketing collega’s in de markt te zetten. Je initieert en neemt deel aan (internationale en afdeling overschrijdende) projecten, vaak in de rol van projectleider. In die rol bewaak je de voortgang, coördineer je de activiteiten en zorg je voor

Bekijk vacature »

Front-end developer (Medior/Senior)

Functie Het front-end team bestaat momenteel uit 4 collega’s en is hard aan het groeien! Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren. Je werkt in het front-end team samen met de back-end teams en product owners om te zorgen dat de applicaties een fijne gebruikerservaring opleveren. Jouw expertise zorgt ervoor dat de juiste keuzes gemaakt worden qua techniek en ontwerp, van back-end tot aan gebruiker. In samenspraak met je team bepalen jullie de beste keuze voor techniek. Ook is er altijd ruimte om nieuwe technieken te ontdekken. Eisen • Je hebt gedegen

Bekijk vacature »

Senior Fullstack developer wanted! (C#, Java, Angu

Functie Under the guidance of 3 account managers, one of whom will be your point of contact within your expertise, you will start working for various clients. He or she will help you find a suitable and challenging assignment. Naturally, they will take your situation, experience and (technical) ambitions into account. The assignments last one to two years on average. This allows you to really commit to a project and make an impact as a consultant. Besides the assignment, you will regularly meet your colleagues from the IT department to share knowledge or discuss new trends, for example. Master classes

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 »

.NET Software Developer

Dit ga je doen Als .NET Software Developer zul jij je voornamelijk bezig houden met: Het van scratch af aan bouwen van applicaties (.NET, C#, Bootstrap, KnockoutJs en WebAPI2); Het testen van jouw code d.m.v. het uitvoeren van unittesten; Het oplossen van bugs in de code; Het onderhouden van contact met collega's betreffende de door jouw ontwikkelde applicaties; Het verbeteren en doorontwikkelen van maatwerkapplicaties. Hier ga je werken Jij gaat aan de slag als .NET Software Developer en gaat je focussen op het bedenken, ontwikkelen en testen van maatwerkapplicaties in voornamelijk C#. Dit ga je doen bij een grote, internationale

Bekijk vacature »

PHP Laravel developer

Functie omschrijving Weet jij alles van Laravel en krijg je energie van het ontwikkelen van software hiermee? Laat snel wat van je horen want wij zoeken een PHP/Laravel developer in regio 's-Hertogenbosch. Jouw taken zullen bestaan uit: Softwareapplicaties ontwikkelen en verder optimaliseren in veel diverse projecten op basis van Agile/Scrum. Uitleg geven over software en applicaties Klantcontact hebben over bestaande applicaties. Documentatie schrijven over applicaties. Techstack: PHP, Laravel, HTML, CSS, Javascript. Bedrijfsprofiel Deze organisatie zit in de regio van 's-Hertogenbosch en is een klein softwarebedrijf. Er werken ongeveer 15 medewerkers, verdeeld in meerdere teams, zoals back-end en front-end development, projectmanagement

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Wil jij bij een platte en informele organisatie werken? Lees dan snel verder! Voor een opdrachtgever in omgeving Boskoop dat zich gespecialiseerd heeft in het realiseren van veilige netwerkverbindingen zijn wij op zoek naar een leuke software developer ter versterking van het huidige team. Hoe kan jouw dag er straks uitzien? Je gaat technische klussen uitvoeren op locatie bij klanten.Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op het gebied van geleverde software en webapplicaties. Je gaat software en webapplicaties ontwikkelen met behulp van de talen

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

02/05/2024 03:53:13
 
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.