webForumDet fria alternativet

Ett oerhört uttjatat ämne

JavaScript

4 svar · 314 visningar · startad av stattin

Medlem sedan jan. 2005713 inlägg
Frågan#1

Jag vet att man inte kan skydda en sida med javascript, man kan inte ens kalla det ett skydd och jag kan i 99% procent i fallen gå runt dom, resten orkar jag inte bry mig om.

Men nu är det så att jag tänkt ha mig ett "skydd" för en liten enklare sak. Jag hittade på en rätt så bra lösning på detta och hur jag än vrider och vänder på det så kommer jag inte på något sätt att gå runt det.

Så därför tänkte jag att någon här kanske kunde göra ett försök och sen förklara för mig hur han/hon gjorde.

Scriptet: (Lägg märke till att nyckeln saknas, eftersom det är lösenordet.)


<SCRIPT LANGUAGE="JavaScript">

function decrypt(str, pwd) {
  if(str == null || str.length < 8) {
  return;
  }
  if(pwd == null || pwd.length <= 0) {
    return;
  }
  var prand = "";
  for(var i=0; i<pwd.length; i++) {
    prand += pwd.charCodeAt(i).toString();
  }
  var sPos = Math.floor(prand.length / 5);
  var mult = parseInt(prand.charAt(sPos) + prand.charAt(sPos*2) + prand.charAt(sPos*3) + prand.charAt(sPos*4) + prand.charAt(sPos*5));
  var incr = Math.round(pwd.length / 2);
  var modu = Math.pow(2, 31) - 1;
  var salt = parseInt(str.substring(str.length - 8, str.length), 16);
  str = str.substring(0, str.length - 8);
  prand += salt;
  while(prand.length > 10) {
    prand = (parseInt(prand.substring(0, 10)) + parseInt(prand.substring(10, prand.length))).toString();
  }
  prand = (mult * prand + incr) % modu;
  var enc_chr = "";
  var enc_str = "";
  for(var i=0; i<str.length; i+=2) {
    enc_chr = parseInt(parseInt(str.substring(i, i+2), 16) ^ Math.floor((prand / modu) * 255));
    enc_str += String.fromCharCode(enc_chr);
    prand = (mult * prand + incr) % modu;
  }
  return enc_str;
}

kod="6dce61b907c4fe6ee01442c4638c5251d9b368e7af466448d5ffa488bbac7122812d8dc25521c00e1be5a883ef8800000000"
nyckel=""
html=decrypt(kod, nyckel)
document.write(html);

//  End -->
</script>

Så.. är det fullt läsbart ändå utan nyckel?

Medlem sedan dec. 20025 483 inlägg
#2

Om du inte på något sätt tillhandahåller nyckeln, hur skall då någon kunna se din sida? Hur har du tänkt visa sidan för din publik -- utan värde för "nyckel"-variabeln?

Medlem sedan jan. 2005713 inlägg
#3

som sagt nyckeln är lösenordet.. rätt lösenord så kan man se sidan. men utan nyckel, kan man inte se sidan då eller?

Medlem sedan dec. 20025 483 inlägg
#4

Eftersom du använder en nyckel blir det genast tuffare. Att finna motsvarande encrypt()-funktion är trivialt om någon vill sätta sig in i hur krypteringen går till.

Det kommer bara fungera så länge du delar med dig av nyckeln till de som skall få tillgång till sidan.

Medlem sedan jan. 2005713 inlägg
#5

Dom som ska ha tillgång till sidan har så klart tillgång till nyckeln.

Det låter ju alldels perfekt. :)

265 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)