Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  6 2088
Hei,

jeg holder for tiden på med et prosjekt der bruker kan oppgi sin lokasjon og få informasjon tilpasset deretter.

Innholdet i disse variablene, lengdegrad og breddegrad, fraktes nå i URLen, altså f. eks.: index.php?lengdegrad=(tall)&breddegrad=(tall).

Jeg anser jo lokasjonsdata som noe sensitivt. Er det ok å behandle disse dataene slik jeg gjør nå? Eller må jeg endre måten jeg frakter disse dataene?
Trigonoceps occipita
vidarlo's Avatar
Donor
Det er forsåvidt sensitivt, men du får ikkje mykje betre sikkerhet ved å sende det som post. Fordelen med post er at det vil ikkje vere synleg i historikken for andre brukarar. SSL er kanskje greit å ha og?

Viare så er ikkje at eg var plass y i går 15:30 veldig sensitivt. Det eg ville sett på som sensitivt er plasseringa mi over tid, slik at det vert mogeleg å kartlegge. Eit blip? Ok, kult. Alle som har tilgang til ein av dingsane mine kan uansett gjette på at eg var på jobb, på bussen eller heime på det tidspunktet, og treffe med 90% sannsyn...
Mighty
vonS's Avatar
Trådstarter
Takk for svar. Jeg er enig med deg i at dataene som sendes kanskje ikke likevel er så sensitive. Dersom det heller ikke finnes noen formelle krav til hvordan jeg skal behandle disse dataene tror jeg nok at jeg holder meg til løsningen jeg allerede har skrevet.
Trigonoceps occipita
vidarlo's Avatar
Donor
Dei formelle krava går stortsett på samtykke, behandling og oppbevaring, og ikkje tekniske implementasjoner. Igjen så vil det her vere stor skilnad på ei løysing som sporer brukeren 24/7, eller ein app der ein kan trykke manuelt for å finne posisjonen sin.
▼ ... noen uker senere ... ▼
['hip','hip']
49 8
du kan lage en enkel funksjon for å kryptere og dekryptere teksten så vil det være av liten til ingen nytte for andre..


Kode

function enCrypt($serversalt, $string, $userpassword) {    
    $output = false;
    $method = "AES-256-CBC";
    $key = hash('sha256',$userpassword); 
    $salt = substr(hash('sha256', $serversalt), 0, 16);

        $output = openssl_encrypt($string, $method, $key, 0, $salt);
        $output = base64_encode($output);    

    return $output;
}
og

Kode

function deCrypt($serversalt, $string, $userpassword){
    $output = false;
    $method = "AES-256-CBC";
    $key = hash('sha256',$userpassword); 
    $salt = substr(hash('sha256', $serversalt), 0, 16);

        $output = openssl_decrypt(base64_decode($string), $method, $key, 0, $salt);    

    return $output;
}
så bruker du f.eks brukerens eget passord til userpassword og tja.. brukerens epost som serversalt.. eller noe annet som passer ditt behov.

jeg ville da satt
$string = "lengdegrad,tbreddegrad"; og encryptet den og overført med index.php?key=hash

decryptert og $key = explode(",",$_GET['key']) som gir $key[0] som lengdegrad og $key[1] som breddegrad
▼ ... over en uke senere ... ▼
Sitat av FanzyPants Vis innlegg
du kan lage en enkel funksjon for å kryptere og dekryptere teksten så vil det være av liten til ingen nytte for andre..
Vis hele sitatet...
Men php blir bare køyrt på server siden. Ergo visst denne dataen skulle kun bli brukt på serversiden så er $_SESSION eller database spørringer lettere.

Skal teksten sendes mellom frontend og backend, så må du ha eit script som kan dekryptere / kryptere dataen som blir mottatt og sendt på frontend. Og da.. visst noen vil hente ut opplysningene då så kan dei bare bruke frontend algoritmen til å anskaffe dette.

Med andre ord, så hjelper ikkje php skriptet. Eller tenker eg heilt feil nå?
Sist endret av sciencefyll; 30. mai 2016 kl. 00:34.
Sitat av sciencefyll Vis innlegg
Men php blir bare køyrt på server siden. Ergo visst denne dataen skulle kun bli brukt på serversiden så er $_SESSION eller database spørringer lettere.

Skal teksten sendes mellom frontend og backend, så må du ha eit script som kan dekryptere / kryptere dataen som blir mottatt og sendt på frontend. Og da.. visst noen vil hente ut opplysningene då så kan dei bare bruke frontend algoritmen til å anskaffe dette.

Med andre ord, så hjelper ikkje php skriptet. Eller tenker eg heilt feil nå?
Vis hele sitatet...
For det første så hjelper verken sessions eller databaser mot det som trådstarter spør om, nemlig å sikre transport av data til en nettside.

Angående at PHP kjøres på server-siden så er det korrekt, men assymetrisk kryptering (Public-Key Cryptography) eksisterer jo. Da kan du kryptere med en offentlig nøkkel, og kun dekryptere om du har den private (som er trygt gjemt på serversiden).

Problemet er da å få krypteringsalgoritmen til front-end på en sikker måte, slik at ikke en angriper kan bytte den ut med en som er triviell å knekke. Da vil man gjerne ta i bruk f.eks. TLS, og da er egentlig krypteringen overflødig. Metoden for å få dataene til klienten blir det svakeste leddet, og bryter man den så kan man man-in-the-middles.

Løsningen er å bruke TLS, og tvinge sikkerheten på for å unngå sslstrip. Certificate pinning om du ønsker å ta det et steg videre, og beskytte mot aktive angripere.
Sist endret av Dyret; 30. mai 2016 kl. 02:35.