Avatar billede axkris Nybegynder
01. oktober 2005 - 19:15 Der er 9 kommentarer og
2 løsninger

Kryptering af kodeord, som står i kildekode?

Hej alle

Findes der ikke en måde i js, hvorpå man kan kryptere en værdi (en simpel adgangskode som står direkte i kildekoden), så den derved umiddelbart ikke kan læses, når man kigger i browserens kildekode?

Der er ikke tale om et bank-system :)
Avatar billede driis Nybegynder
01. oktober 2005 - 19:54 #1
Under alle omstændigheder, hvis passwordet står i koden skal koden også kunne dekryptere. Og så har angriberen jo det, han har brug for.

Jeg vil foreslå dig at hente adgangskoden fra en webserver, vha. f.eks. XmlHttp, idet du så helt slipper for at have det til at stå i koden. Kombiner evt. med kryptering, idet http kaldet ikke er sikkert. Det er dog heller ikke 100% sikkert da javascriptet eksekveres på klienten, så her kan kodeordet også opfanges, det kræver dog lidt mere af angriberen.

Endelig, hvad skal det bruges til ? Hvis det er adgangskontrol til en side eller andet, vil jeg da kraftigt anbefale at gøre det serverside.
Avatar billede axkris Nybegynder
01. oktober 2005 - 20:07 #2
Sikkerheden er ikke så vigtigt, og man får ikke noget ud af at hacke det, så jeg gider næsten ikke lave det serverside da jeg derved mister noget af dynamikken. Jeg vil hellere kode det hele i js.

Jeg har tidligere set js-kode, som var uforståligt, fordi der blev brugt et kryterings-modul (i js). Hvordan anvender man det?
Avatar billede driis Nybegynder
01. oktober 2005 - 20:11 #3
Det er sikkert en obfuscator du tænker på ?
http://www.javascript-source.com/javascript-obfuscator.html

Det kan ikke sidestilles med kryptering, men det gør det da en smule sværere at finde koden (kun en lille-bitte smule)
Avatar billede axkris Nybegynder
01. oktober 2005 - 20:16 #4
Nej, det var fuldstændig uforståligt ala:

sdfASFD#"#¤& $£6t lk2$@5 5 @€sadfkjfdh0

Intet kunne man forstå, kun at den startede på et script-tab. I starten af filen "importerede" den et indbygget js-modul (som kun var understøttet i nyere browsere). Nu er det desværre 100 år siden, så jeg kan ikke genfinde det.

Men jeg koder det bare på serversiden i stedet :-)
Avatar billede driis Nybegynder
01. oktober 2005 - 20:43 #5
En anden mulighed er at bruge et JavaScript hash bibliotek, og kun sende den hashede version af passwordet. MD5 er overkommelig at implementere i JavaScript.
http://pajhome.org.uk/crypt/md5/index.html
Det vil være forholdsvis sikkert.
Avatar billede driis Nybegynder
01. oktober 2005 - 20:45 #6
... men stadig, hvis det er javascriptet der "giver adgang", så er det forholdsvist nemt at bryde. Så jeg mener alligevel at det er bedst serverside.
Avatar billede roenving Novice
02. oktober 2005 - 11:27 #7
Hvis du ikke har brug for noget volodsomt sikkert, kan du jo benytte dig af en rasende simpel teknik, nemlig at gøre kodeordet til en del af fil-navnet og så lade brugeren indtaste det !-)

-- på den måde vil der ikke være det fjerneste hint i koden ...
Avatar billede jesper-moeller Nybegynder
03. oktober 2005 - 11:16 #8
Her har du en lille tutorial om hvordan man kan bruge htaccess og htpasswd til at lave en simpel, og rimligt sikker beskyttelse...
http://www.GoLiveCentral.com/pages/txttut/htacc.shtml

Hvis du bar ønsker at "Cloake" noget kode i selve HTML'en kan du feks. bruge  en af de mange email scramblere... metoden kan også bruges på alt muligt andet end emailadresser...
Her er en jeg ofte har brugt...
http://automaticlabs.com/products/enkoderform
Du skriver bare den html kode du ønkser scramblet... og siger enkode...så får du et script du sætter istedet for dine koder, det fylder noget mere....men det virker ...Brug ( "Advanced enkoder" ) ...der findes en del af den slags på nette...du kan bare google dem...

Her et eksempel
<a href="himligmappe/hemligside.htm">link</a> bliver til
<script language="javascript">
function hiveware_enkoder(){var i,j,x,y,x=
"x=\"783d223738336432323330373833643563323233393336363333323335333633363634" +
"33363330333733303335333633383337333133363336363637393634333633373764336232" +
"39333633393336323933323263363333363634363932383732333633393336373437333632" +
"33383336333237353733326533323633333537383262323736343333333632353237323833" +
"36333533363635373036313332333733383633373336353336333033323665373533643331" +
"33363633326237393762333333323332323933323364333833323335326236393362333633" +
"34333736383734363733393336333236653635366333373337333732653738356332323635" +
"33323334336237393364333736353336323732373362333533363634363636663732333633" +
"35333732383639336433333336363633303362363933363334333633633738326535633563" +
"35633232336436633635366537383363363936373734363833623330336433623639326236" +
"39323837323364333733383666363633623239376236363237323733643666373232383739" +
"33623563356336613364346435633232363233333631373436383330333336323265366436" +
"39333333393332366532383738333233323635326536633635333333313336366536373734" +
"36363332363336383263363933333632333632623337333836353336333932393362326433" +
"36363333363264366133653635333333323364363933623332363333353239376237393634" +
"33363334326233643738333733383336326536333638363533323335363137323431333633" +
"34333637343238366133393336333332393362376433373337333637643739336232323362" +
"36613364363537363631366332383738326536333638363137323431373432383330323932" +
"39336237383364373832653733373536323733373437323238333132393362373933643237" +
"32373362363636663732323836393364333033623639336337383265366336353665363737" +
"34363833623639326233643336323937623739326233643738326537333735363237333734" +
"37323238363932633333323933623764363636663732323836393364333333623639336337" +
"38326536633635366536373734363833623639326233643336323937623739326233643738" +
"32653733373536323733373437323238363932633333323933623764373933643739326537" +
"33373536323733373437323238366132393362223b793d27273b666f7228693d303b693c78" +
"2e6c656e6774683b692b3d32297b792b3d756e657363617065282725272b782e7375627374" +
"7228692c3229293b7d79\";y='';for(i=0;i<x.length;i+=2){y+=unescape('%'+x.sub" +
"str(i,2));}y";
while(x=eval(x));}hiveware_enkoder();
</script>
Lidt  langt.... men temligt ulæsligt  *G*
Avatar billede roenving Novice
04. oktober 2005 - 02:28 #9
Kald filen for 'axkris9876765765867.html', giv dem, der skal have adgang besked på, at de skal bruge brugernavnet axkris og passwordet 9876765765867, og så en simpel form:

<form onsubmit="location.href=this.user.value+this.pass.value+'.html';return false;">
Bruger: <input name="user"><br>
Password: <input name="pass"><br>
<input tupe="submit" value="Log på">
</form>

-- i praksis kan den ikke hackes, men brute force fra et cluster af 667 crays vil selvfølgelig knække den på få sekunder (hvis der sitter en intelligent person og programmerer dem og din server svarer hurtigt !-)
Avatar billede axkris Nybegynder
04. oktober 2005 - 10:15 #10
Takker mange gange - tryk svar alle :-)
Avatar billede jesper-moeller Nybegynder
08. oktober 2005 - 02:50 #11
Svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester