21/09/10 6:43
xinyiman
Buongiorno a tutti, mi sono imbattuto in un pezzo di codice interessante, non tanto per capire cosa fa, ma quanto per capire come usare lo stesso metodo per non far vedere il codice che io scrivo.
Insomma mi piacerebbe capire come funziona per implementare lo stesso concetto sui miei codici, non so se mi sono spiegato correttamente! Io non sono molto pratico di ajax, però ho capito che eval serve per eseguire del codice senza che questo compaia nel "visualizza html".
La prima cosa che noto è "function(x)", la dichiarazione di una funzione senza per questo dare un nome alla funzione, ma passandogli solo una variabile. Si può fare? E poi come si richiama questa funzione dalla pagina su cui operiamo?! Scusate per la mole di domande, ma ho veramente urgenza di capirci un po' di più, devo fare un lavoro e voglio oscurare un bel po di codice, e guardando in giro mi sembrava un byon metodo questo!
Ovviamente non ho messo tutto il codice, a me interessa capire come fare non copiare il codice in questione!
Riporto il codice qui sotto:
eval((function(x){var d="";var p=0;while(p<x.length){if(x.charAt(p)!="`"d+=x.charAt(p++);else{var l=x.charCodeAt(p+3)-28;if(l>4)d+=d.substr(d.length-x.charCodeAt(p+1)*96-x.charCodeAt(p+2)+3104-l,l);else d+="`";p+=4}} return d})("function SSPlotter(){}Web2CalConstants=` ?$(){};WEB2CAL_VERSION_INFO=\"V-Basic-Rel-1226-2.0-1218G\";var ` m#` a&T,R){options=R||new Array` J!B=\" <table id=\\"loadingBlock\\" height=\\"100%\\" width` %&style=\\"position:absolute;background-color:#fff; z-index:9999;\\"><tr><td valign=\\"middle\\" ` )$center\\"><div class`!]&Msg\\"> \"+`\"O#.LANG.MSG_LOADINGMSG+\"</div></td></tr></`\"L!>\"+\"\t ` k)web2cal\\" > ` ;!\t`!+*eftNav\\" >\t\t\t\t` @#` :+quickAddLink\\"`!&\"` ,7Icon\\">`!d#a href=\\"java-script:void(0)\\"` S%p`&$\"l` z$`\"X)LABEL_CREATENEWEVENT+\"</a`!A&`!'\"`\"?$`!R#` u%minic`&x!tain`#~!`!m4` D#`!w%` r,` M$`\"t8`#R#GroupsList` u7head`!J#`\"A/HIDESHOW`%1$` N4data`![4`%3$` (!`!j'` T)content\\"`(U\"calendarC` /$> `\"64topnav`#8@controls` A' ` A(` ?,`$L\"ro`'?!` :*`\"^,`$S/`,(\"` X#`\"1!` &,` FJcalO`+u\"`!>-` 15`'~)` C,`(&0showC`#v#Settings();`(42 ` &`)R%`%r/OPTIONS`(C+`%H(`\"C.`#+!topQ`*-#`$F)`*a8`)p~`*_/`\"5\"`-T$`(9,`$Y; calNavigation`$h0ul`(-%NavD`)&\"` 5,/ul`#I0 \t`,+'`)4,`!<+`\"M#`),&`(Q5al`+3\"`$,(`!\$` )-`-M'`-X.` k+allDay` f-` &-`#67` F\"Event` Q3` ,,`%q!> `!Z\";`.1-`$G@` x\"Gri`'#)`!.'` ,+`*B;`\"l;btbor`/7\"`.`:calbod`#C.` &.`!B+table cellspacing=\\"0\\"` -!padd` (&`!E\"` &# style=\\"` \!-layout: fixed; width: 100%; height:` (!`'C/td valign`*j\"`)V'gridY`!s%TD`\".$` &.`#6)`\"m/` D*` R2\\"`(S!`%B-`` 0\"td`!|0`\" +`!#%X`!f*` K&`![?`!h1`$_5` M4anvas` U)` +#`.s,`'u5` c3` h(`!63` V2`1c2`#H-</`&D!><iframe`!'\"web2calI` .!`(?!` 8\"`._9`(H,foot`#1,` F+` \"`.5) ` i!`($$display:none;\\"><h2>Powered by `!h#. `1V&www.` ...
Insomma mi piacerebbe capire come funziona per implementare lo stesso concetto sui miei codici, non so se mi sono spiegato correttamente! Io non sono molto pratico di ajax, però ho capito che eval serve per eseguire del codice senza che questo compaia nel "visualizza html".
La prima cosa che noto è "function(x)", la dichiarazione di una funzione senza per questo dare un nome alla funzione, ma passandogli solo una variabile. Si può fare? E poi come si richiama questa funzione dalla pagina su cui operiamo?! Scusate per la mole di domande, ma ho veramente urgenza di capirci un po' di più, devo fare un lavoro e voglio oscurare un bel po di codice, e guardando in giro mi sembrava un byon metodo questo!
Ovviamente non ho messo tutto il codice, a me interessa capire come fare non copiare il codice in questione!
Riporto il codice qui sotto:
eval((function(x){var d="";var p=0;while(p<x.length){if(x.charAt(p)!="`"d+=x.charAt(p++);else{var l=x.charCodeAt(p+3)-28;if(l>4)d+=d.substr(d.length-x.charCodeAt(p+1)*96-x.charCodeAt(p+2)+3104-l,l);else d+="`";p+=4}} return d})("function SSPlotter(){}Web2CalConstants=` ?$(){};WEB2CAL_VERSION_INFO=\"V-Basic-Rel-1226-2.0-1218G\";var ` m#` a&T,R){options=R||new Array` J!B=\" <table id=\\"loadingBlock\\" height=\\"100%\\" width` %&style=\\"position:absolute;background-color:#fff; z-index:9999;\\"><tr><td valign=\\"middle\\" ` )$center\\"><div class`!]&Msg\\"> \"+`\"O#.LANG.MSG_LOADINGMSG+\"</div></td></tr></`\"L!>\"+\"\t ` k)web2cal\\" > ` ;!\t`!+*eftNav\\" >\t\t\t\t` @#` :+quickAddLink\\"`!&\"` ,7Icon\\">`!d#a href=\\"java-script:void(0)\\"` S%p`&$\"l` z$`\"X)LABEL_CREATENEWEVENT+\"</a`!A&`!'\"`\"?$`!R#` u%minic`&x!tain`#~!`!m4` D#`!w%` r,` M$`\"t8`#R#GroupsList` u7head`!J#`\"A/HIDESHOW`%1$` N4data`![4`%3$` (!`!j'` T)content\\"`(U\"calendarC` /$> `\"64topnav`#8@controls` A' ` A(` ?,`$L\"ro`'?!` :*`\"^,`$S/`,(\"` X#`\"1!` &,` FJcalO`+u\"`!>-` 15`'~)` C,`(&0showC`#v#Settings();`(42 ` &`)R%`%r/OPTIONS`(C+`%H(`\"C.`#+!topQ`*-#`$F)`*a8`)p~`*_/`\"5\"`-T$`(9,`$Y; calNavigation`$h0ul`(-%NavD`)&\"` 5,/ul`#I0 \t`,+'`)4,`!<+`\"M#`),&`(Q5al`+3\"`$,(`!\$` )-`-M'`-X.` k+allDay` f-` &-`#67` F\"Event` Q3` ,,`%q!> `!Z\";`.1-`$G@` x\"Gri`'#)`!.'` ,+`*B;`\"l;btbor`/7\"`.`:calbod`#C.` &.`!B+table cellspacing=\\"0\\"` -!padd` (&`!E\"` &# style=\\"` \!-layout: fixed; width: 100%; height:` (!`'C/td valign`*j\"`)V'gridY`!s%TD`\".$` &.`#6)`\"m/` D*` R2\\"`(S!`%B-`` 0\"td`!|0`\" +`!#%X`!f*` K&`![?`!h1`$_5` M4anvas` U)` +#`.s,`'u5` c3` h(`!63` V2`1c2`#H-</`&D!><iframe`!'\"web2calI` .!`(?!` 8\"`._9`(H,foot`#1,` F+` \"`.5) ` i!`($$display:none;\\"><h2>Powered by `!h#. `1V&www.` ...
aaa