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?
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?
