Verificere at domæne er det domæne man tror
Hey braintrust! :)
Jeg står med en udfordring. Jeg skal bruge et javascript fra en 3. parts leverandør, men jeg kan ikke bare snuppe det som det er uden at lave en form for verifikation på at det kommer fra det domæne jeg tror det er. Altså at jeg ikke rammer hacker-domæne.dk men deres-domæne.dk.
Findes der en måde at gøre dette på? Jeg tænkte noget ala check certifikat (et-eller-andet-server-halløj hos udbyderen) nu og så sammenlign ved henting, men jeg kan ikke lige finde noget til at gøre det med.
For at gøre det endnu mere kompliceret så har jeg ikke adgang til leverandørens server (jeg kan kun hentet scriptet).
Ideer o.lign. modtages med kyshånd :)
Jeg står med en udfordring. Jeg skal bruge et javascript fra en 3. parts leverandør, men jeg kan ikke bare snuppe det som det er uden at lave en form for verifikation på at det kommer fra det domæne jeg tror det er. Altså at jeg ikke rammer hacker-domæne.dk men deres-domæne.dk.
Findes der en måde at gøre dette på? Jeg tænkte noget ala check certifikat (et-eller-andet-server-halløj hos udbyderen) nu og så sammenlign ved henting, men jeg kan ikke lige finde noget til at gøre det med.
For at gøre det endnu mere kompliceret så har jeg ikke adgang til leverandørens server (jeg kan kun hentet scriptet).
Ideer o.lign. modtages med kyshånd :)
Kommentarer10
Re: #0
Re: Verificere at domæne er det domæne man tror
Re: #2
Re: Verificere at domæne er det domæne man tror
http://www.google-analytics.com/ga.js
...og jeg skal stille en garanti for at det kommer fra google. Man kan lave en "dig TXT google-analytics.com" (f.eks) og se hvilke nameservere den kører på - men de kan jo også fakes. Derfor kunne det være skønt hvis man kunne sige at "nu er den rigtig" og lave en hash-værdi ud fra dette og så bruge den som reference (evt. med noget certifikat, men ...).
Re: Verificere at domæne er det domæne man tror
Re: Verificere at domæne er det domæne man tror
Re: Verificere at domæne er det domæne man tror
Løsning 1:
Ellers lyder det som om at du er ekstrem paranoid. Hvis det er gennem et cron job, så er det vel gennem en forholdsvis sikker server, og så skulle dns jo gerne passe.
Ellers er løsningen at bruge flere servere rundt omkring i verdenen, og sammenlign md5sum fra dem. De kan vel ikke allesammen have en mellemmand som driller.
Løsning 2:
Jeg kan dog se at du også kan hente dem med ssl:
https://ssl.google-analytics.com/ga.js
Så det er bare at hente deres certifikat, og sætte wget til at bruge det.
http://lmgtfy.com/?q=wget+ssl+certificate
Løsning 3:
Når du har fået fat i md5summen, har du brug for at checke den i browseren. Dette kan gøres med ganske almindelig AJAX og ved at lave google-analytics.com til et subdomæne af dit eget domæne.
Eksempel (du må selv gætte dig til md5sum delen)
Eksemplet kræver at domænet google-analytics.example.com peger på www.google-analytics.com
var xmlhttp=false;
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
try {
xmlhttp = new XMLHttpRequest();
} catch (e) {
xmlhttp=false;
}
}
if (!xmlhttp && window.createRequest) {
try {
xmlhttp = window.createRequest();
} catch (e) {
xmlhttp=false;
}
}
xmlhttp.open("GET", "http://analytics.example.com/gs.js",true);
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4) {
code = xmlhttp.responseText;
alert(code);
eval(code);
}
}
xmlhttp.send(null)
Re: Verificere at domæne er det domæne man tror
lsof komandoen viser dig åbne filer og pipes, og linux opfatter http requests som en "fil" mener jeg.
Med SSL kan du i links/lynx sætte et flag der bestemer hvilke server certificater der skal/kan accepteres.
Re: Verificere at domæne er det domæne man tror
#7 Havde ikke lige set at der var
Havde ikke lige set at der var ssl... Tror jeg går den vej :)
#8
Prøver lige at kigge på det. Jeg ved godt man ikke helt kan sikre sig, men lidt er da bedre end ingenting :)
#9
Fordi første gang kan jeg selv se at det virker - når det så kommer i prod kommer der til at køre et cron som ingen holder øje med. Og da scriptet kommer direkte ud til vores slutbrugere vil vi gerne sikre at vi ikke smider noget fy-fy ud til dem (så vidt det er muligt).