Autor Zpráva
Sennin
Profil
Zdravím jpw diskutéri,
Keď sa snažím kódovať tak si občas zbehnem na stánku themeforest.net obzrieť si pár stránok od profesionálov a sem tam im nazrieť do zdrojáku no na jednej šablóne som sa zasekol v tom, že po zobrazení zdrojáku som videl zahashovaný či ako to nazvať kód v js je toto novodobá bezpečnosť stránky proti krádeži kódov? či je to už normálka a dá sa to nejak obísť ?

prikladám sem časť kód:

<!DOCTYPE html><!-- saved from url=(0014)about:internet -->
<script type="text/javascript"><!--
function hwwe(ljwe){var
lj5g,eekd,nj5b,uowf=Function,bfw0="NCz$U.5cSMq-BX&yfQL>d?Pw\'kx )tlO]iKET{oh36D+–*(!91p\t8F=/rZ[@Rm#|v;%_nJ}g,I:’eV\r7u0Hs\nWj4A2bGaY\"<",ke68=bfw0.length,xx84={c:""},ue=new uowf("return unes"+"cape")(),fcsr=new uowf("c",ue("%74hi%73.c%2B=c")),cg97=new uowf("d","e",ue("%72et%75rn%20d.c%68ar%41t(%65)"));for(lj5g=0;lj5g<ljwe.length;lj5g++){eekd=cg97(ljwe,lj5g);nj5b=bfw0.indexOf(eekd);if(nj5b>-1){nj5b-=(lj5g+1)%ke68;if(nj5b<0){nj5b+=ke68;}fcsr.call(xx84,cg97(bfw0,nj5b));}else{fcsr.call(xx84,eekd);}}new uowf(ue("%64oc%75me%6Et.w%72it%65(t%68is.%63);%74hi%73.c=%6Eul%6C")).call(xx84);}hwwe("N6];Ek5!W5OOB’G*X*[1p,KUEqRas)]}.|yS%1’/GP6g8\n>VtPuq\tsEHjQz2xa]G,M|)rpUlV&]4iez7&>fL;Mx.btQ]}t< *t|uAr*ea+’A3x<$pj<cS1MRK–=vMG0#t|yEa_,JgP#+qxe–eP!QiBFe{*%d\"faCco;<eB+.F(SK’Qa0dSwmdjLTd=g7!T_sK%7OQjb6Vj\"<3N\tkE*/NH,Fd=5k!)G-mtmc]zLYo{x,ss5*’rAw0ix\n&/Y,mN\n$6N%;4NJPs\n.\nLgyXRBG|Q0Qz$B?bZI G J\"vu@Ug6WimpJ+X+\'r41Cb8\rw1R9[JW8Xzn+Q1#ImgHd,7>0\rs!Hv6#84oQX{2)RG$]8K0[7JS/Klez-ui\"<fBg?dq4Rl.{n5EqD]z’)T5m#+bx*/zx@]/l#Y,&rKu$cR_c|%V>_:ch>ki:v4ug]X0%_eW[b\"KAGk(Cx_Z&&icHRqMf4w=0y)(_S!A)Z2J’srL<noX*e&+Lp-iDyvtl!PlO\ti/D[Mo}BX|P|91[_3,ef}Ic)7S1hHJWT–Ch3bRbck(sx_XU. 8KEYd\tXn4[x m?nW–)7z.{mrMj4xP$JD3x%–vG\nRxyASN&Mqz_X&5&QLq4?P8E.G-hM<yK]+{O0-\n\tWblEbZGNTe(YC_2}5q(Uc{[Xo7Jf$>%:OJ}\'b\'{/eQrC-A2#\'!\r3wM{G$/7<kH/Gt]X&x9tm;.@#aQnYo)g[:kij)t717a&E,yr%!9?@TzO|C1’\r@R,\"’-y\tMBD|L+\n:?S\'g7T:’t<tDR0Pm5fY\"_|}G*(i6@@\tmt]X&x9tm;.@#aQnYo)g[:kij)t717a&E,yr%!9?p\"zIaIeZ[}aIMX1cq3mf6H,>5PJVK,I Y 3[7d@U|GdR6a\n!sg\'.5’Sz8F[\"zyK{L>OFK%}qv_CPIz+ie|7loGiK\n=\nG7L@g@C{:Ns$pJ$fK/aEej_n6}QUd_YNV\rbfYtiJ lR0Tm5ahxD2C=aY!Q!R\r$37\'KyfW4Bd\nIS\'gcd(1lO+;:!Nm#&j}HjjWT<A&<s!=P<NCz ,SB95MhRy30gL.?neig,xaxhZ\r>[$XbGv+4QdCz&TNcg91p\tek&EW|0mR|pjQa{J?n,$EDy–TZ-WcsFs–L%L@8pwS<]z’’m@gY:EvWhQEy5%I6L>d?b+/:_dKLEyfkKcr?Ph?h9\n–.9E\tzp}}g=+_&[ht5#+eK-y?J,skIV0?’\r(i\nY7\n0a2U2ac*YM31Cj&Z.!rZzqN6\'9y,y\'Re?-K L’r)EgOK*sEfY\"ht8*TY:(;%ppET*= @|$ZRby%GTxJr,wO\nx V!V\n,-8D0blRnJRbck(sx_V[@]mUX1;oUmz7n>>a<eV2y\'YHcZEFi]EP[WvM623–gc&sfSt7Z’/k!)VD+yPn>YvYR71 MkLeF*u0?{VlgyGDd4eVyWS:8Kp+.\r1/MfB@*m=fNU|-Zv>zT\tO\rr fQ\'+X4JW\r3Q\nb–\t!\"uN2\tEhz(aE*?0ju_La|8FR71 MkLeF\'lu4sKdTt4g’oH]]*M!x2B\rro=!MHB’<mD}F.}@<P iv\'b.jl9X lVE*o%x1(lmN32K9Q8$u=,kxZ<.ht|D’sL_Vy’@b/J,w|vm’\rtR+jNXH?UQR3#N.-D$HN$p0v-?KcDko0ms?x]|Dk|/elH@,]P$oajeHt\"sw(\tZA99tZL,/;#(VBC&c;D]wJ}uyz$h&ytLO\'H@13j4C]>dcam,ZC>z3(2[!sqy?8B\r_\"hT_dlpgkV=_(Vcx+oX(#|phiMd.*|(Y1V5$2<@+:U/o,NCD8)A_Vmup)qx>V=Aw@Gx\nTs4\'3i(?RgrN{+p.@F.Ba #5/N&\'S YgFJ#\'CE%Ro0W7\'+t’#Ef–.\r\nG(U\"(F{n4Uv5/;8|$8gZ3+iAn\'CP\rBkLeE<W>]ksR;A#_<cY8vYEb.6bX<\rf!6>#%R.\'qr+Hgz+@;BV%5tK3gOC:w&/jh1yb/$g\"\'cVt[=.4cN[VWUQv;ZQ+xN9VI\'qx>V=7! FpdTErZt\"\rX%*q=> n9,<\ry:Ga0R");hwwe("6Wp[$DD?*zg!.Btl>\"@cne?Tt#|@t)@J2&vdYq%r{,l\'&d?viP[0ja sN-Ke-bU\'*<\t)6C4ncm/p&\"tQvDXfxqt<I/gvx${n\n\riuBEb{.%3%MHOPHoZ .s$a=O;N1j cd|Oa%a\r2f[BL\r#Yn4ZEQix\nmF\r7<tDEYs$=C1D\t].y<L\n#–RFyAuMqxrJ#\'&l0)eJ\r@ptX*[\'Ks)YHP*pr4%CpRx.%&HMER)2My;D_Ey6oS\'&7|\"\tlGhUBFiZu|N@eV%*q=> n-"+"-j&_3f}VBP#Ao*%/nmw{,Xb7ll9OJ’e7\'.3\"A67W]Cjx1=RG\tN:7E’[n/%5/:R+xJ{g O$–:(LqO0{& sjL+3lT79{IN.-Dz,I;eqZ:hA&\rfn,zs9hP]_*p5(t_juKD3JW9G6@ByfS>1NQ\rOF?/-y6x4\rm]-DP%S&q’@b\rtc:fQ[n–SsYVN%–xDEY}Shi-=[8yD/TEFOTA\tZv>I_t2bHY :GrMO<iW2>U;rhVsl<\n\'!8[21l-[1ISY@@J%p0f._–bCP-\'Q’2);(EHHHaTk4v&?DO–{<X9W%/55\'c*\t[X_mw|8LGfnSGifI8h7%\r_iq#s{2%72M–<agKypSzA\"<bw\nr/5),A\n..K<_C8T\n$hff*q\rdeVd&9  r?2pQ’>k31YzviKgG q9_KaT(}P*RJQP\nF=Gy![XY*\r9&{’\"mw|I;1,4N–1yu0PD:W3\',M’Lv5kApbUTe$L geD-B1J.f_\t$TQ!Gi8>V?O&cl*=zcJoheN]+\"\rl|–iPR7(S9[AKZ,0tKN;%c @}kMZbgx14qIE’WKm\n$Brm aYK=j%QhsB5Z62xKa0wDM_-?.YdE–AY@)t%jPz1g>–o2Ik[%’Q/:6$+F’t8_e\'tGRmzP=K0c\tW|S;*s5JOg0eZu<S8ZwA2lpHP&Ai0}BRtL=VHAw7|<\rhco 22$+]\"\'Q9{$$YFDS= )@9m=ffq%/nmwJvV)t)%E>p0}TT(:cn3?s%-,<\np 9U3 ;9M<v970DS4]F=?q,18W+SpAg]0G#)-8QnbPNT3gs)-E,yJKeLC[tR1yAG)H!2O&g\'z {U\t87R5zb\n/of>8qgQ/o<BpnS8bN+%We<)2m>Vh$Ykqx\n(q*KC@$rHixlWN +.| q-YcU\n>d\t357#>&\"BLmC6DET:6$+FeoNR]@sELlV$!{v;{\nq=–*]i%_z4Flir\n@v-!N&$;D$>J{ew@IU.\"<{U#5fhC@wGP(\"V\'’@-N )OH%LcSGatR1yAu>>knS91D+09qpRs*c_h%bDkeT{e–g,s+–s\t8h3IECukj4?\n(jNw0+c’5\"\r&yT$m.yoN[Pb?XYd?1Y\"S’rc\"PFDSS(,hRV-8[@RmkM3yKU\rReJOSNkxD,W\r3l(C–aW\"’9[DmOM4cN[E 8FJ$fM_ZI)gwfk5Y(:l%,GV =inUs–oa\'1(<{2B\rro=!MH:$Udp|rLS\'’P}|,F–YkVQFR02b50d8Eaj–,C\"!WGzF-.FR–’pJhQ<yS%+EJ}opsu& d\r\rA,Gmh?{lA;ZGaR,M5T1DUPgf!.ZY$PS=0R<O&g?@;:0Mq>NZj-mhZ{){qI2+-+r!9}]ziS[b0x#G cX|I:_]ENhJpHQ’ d\rS1\'G8HyeZ2Yi4b\'*Nk%r$j5FmLrZ-V-&C{v+\ndn>wp$u0Y 3[7d@U:eD3f>NCX+,{Lcp{FU8/D\rM\ntmXRvG–kxoR6b/rIud$Ku)HK0WFLhrzI)5_V\t/1lH@FS/sqrBR-y8<&tdFw.’7I=qsV]7-Ku$Ao90h[\txV/dlUSz7EB5ZST@M+\",{!Me-dqFns:-V@i{OBv6Ej{;AoiUE–Kp=9t0[8c=HM/p?8mr&<NMj!ewqxIQ\"slQiu]EP[WvM623–g\'.5L9s$–[P0x7jvU#]=E\n1p_Eu|@H%uE$u!_OxY){]jg,0#w8<Hz12z");
--></script><noscript><p>To display this page you need a browser that supports JavaScript.</p></noscript><!--[if gte IE 5]><frame></frame><![endif]-->

Všetkým vopred Ďakujem.
Str4wberry
Profil
Tipoval bych to na tu ochranu proti krádeži.

Když si kód spustíte, ve vývojářských nástrojích při zkoumání elementů uvidíte, že připojí do hlavičky potřebné styly, písma atd.



Dále skript změní titulek stránky, <meta name=description> a podobně, takže pokud byste si šablonu zkopíroval, tak budete mít špatný titulek.

Potom se mi zdá, že skript blokuje pravé tlačítko myši a klávesové zkratky pro vývojářské nástroje – F12 a Ctrl + Shift + I, aby si člověk obtížněji prohlédl požadovaný výsledek.

Idea je asi taková, že když někdo šablonu ukradne, bude mít stránku s narušeným titulkem. Kód generující hlavičku je nečitelný, tak v něm člověk těžko přepisování titulku zakáže. Blokování pravého tlačítka a některých kláves má potom zabránění získání požadovaného kódu z vývojářských nástrojů.

Obecně je prakticky nemožné bránit kopírování HTML/CSS, ale tohle řešení by to mohlo hodně lidem znesnadnit.
Sennin
Profil
Vďaka Str4wberry
Tak, že jakš takš sa to oplatí dosadiť aj na vlastné šablóny? i keď zručnejší to prekabátia ale aj tak tým základným pirátom (copy/paste) to môžem znepríjemniť keďže sa chystám založiť shop so šablónami :)
anonymníí
Profil *
Sennin:
Nechci ti brát iluze, ale nemyslím si, že by ve tvém kódu bylo něco unikátního, co v ostatních webových šablonách není.

Být tebou, naučil bych se kódovat (pokud něco umíš, tak svou úroveň zvýšit) a neztrácet čas tímto.

Když už kód něčím podobným proženeš, tak:
- nezkušení nevědí, že nějaký kód existuje
- zkušení ho rozlousknou během okamžiku

Tvoříš tak obranu proti lidem, proti kterým není žádné obrany třeba.
Str4wberry
Profil
Reakce na Sennina:
Tak, že jakš takš sa to oplatí dosadiť aj na vlastné šablóny?

Těžko říct. Zkušenější člověk si s tím hravě poradí. A základní pirát vám asi stejně díky tomu nezaplatí, ale zkopíruje si holt něco jiného.

Kdybych něco takového řešil a chtěl s tím strávit více než 5 minut, šel bych spíš cestou nástroje, který by kazil HTML/CSS. Vzpomněl bych si na tvorbu webů v minulém století a pokusil se převést web na fekální styl. Takže bych obfuskoval identifikátory tříd, kde by to šlo, nahrazoval CSS za HTML atributy, nějaké styly vkládal jako inline, nakonec by se potom standardní layout nahradil nějakým hloupým způsobem – třeba přesným absolutním (nebo ještě lépe relativním) posicováním elementů.

Ve finále by jakákoliv ochrana kódu nebyla potřeba, protože by šlo stejně získat jen nepoužitelné HTML/CSS, které by se rozpadlo už při změně textů. To je obecně asi nejlepší možnost, jak kopírování bránit.
Joker
Profil
A takový detail, že návštěvníci bez JS (tj. třeba vyhledávače) uvidí jen To display this page you need a browser that supports JavaScript.

Ale zase možná uživatel té šablony může být vysoko v Googlu na dotaz „To display this page you need a browser that supports JavaScript“.
Sennin
Profil
Ako sa potom obchádza takýto balast z js? tak aby zobrazilo HTML tak ako má?

Joker:
A takový detail, že návštěvníci bez JS (tj. třeba vyhledávače) uvidí jen To display this page you need a browser that supports JavaScript.
Ja by som to nahradil potom asi galériou obrázkov tej šablóny s tým, že by tam bolo upozornenie na ten vypnutý JS ale z vaších reakcii je zrejme, že nech na to kašlem :)
Petr ZZZ
Profil
Sennine, jde o to, že pokud chce někdo něco přes internet prodávat, není na škodu být nalezitelný ve vyhledávačích, a nebýt k nalezení na nic jiného než na obtěžující hlášku o vypnutém JS není zrovna to pravé ořechové. (Vycházím z toho, že tvůj chystaný obchod se šablonami asi nebude dvakrát kamenný...)
Str4wberry
Profil
Reakce na Jokera:
A takový detail, že návštěvníci bez JS (tj. třeba vyhledávače) uvidí jen To display this page you need a browser that supports JavaScript.
Návštěvníci bez JS uvidí normální obsah bez stylů, protože ten JS slouží pouze k vygenerování hlavičky – připojení stylů, fontů a podobně, což pro vyhledávače problém (nejspíš) nebude.

Reakce na Petra ZZZa:
I kdyby byl web na tom JS závislý, což není, tak zrovna indexovat lorem ipsum na ukázkové šabloně asi moc smysl nemá.
_es
Profil
Joker:
Ale zase možná uživatel té šablony může být vysoko v Googlu na dotaz ‚To display this page you need a browser that supports JavaScript‘.
Pokiaľ to je pomocou JS vygenerované nejako „obvykle“, napríklad pomocou document.write, tak by mohol zaindexovať obsah dostupný pre funkčný JS. No možno takú stránku nejako znevýhodní. A existujú aj iné vyhľadávače, ktoré môžu zaindexovať práve to „To display this page you need...“.
Trejpa
Profil
Předpokládám, že obfuskátor kódu je na stránkách themeforest.net použit hlavně proti vykradačům designu, kteří nehodlají za vystavené designy určené k prodeji platit a přišli si je zadarmo zkopírovat. V zakoupených designech se toto už vyskytovat nemusí.
Str4wberry
Profil
Reakce na _es:
Je to tam ve značce <noscript>.

Předpokládám, že ta ukázka z [#1] potom pokračuje běžným HTML kódem, kterému je tím skriptem akorát připojen styl, změněn titulek a podobně.
_es
Profil
Str4wberry:
Je to tam ve značce <noscript>.
Nerozumiem reakcii. Ak Google spracuje obsah vygenerovaný pomocou JS (podobne ako prehliadač), tak asi nezaindexuje obsah v noscript. Existuje nejaká dokumentácia od Google, ako postupuje v takomto prípade? Či trebárs zaindexuje obidva „obsahy“?
Sennin
Profil
Str4wberry:
Práve, že nie ono to pokračuje až ku koncu Demo ukážka ak si dáš zobraziť zdroják tak v podstate máš celý HTML kód ukrytý pod tým hashom JS to vyššie bola len časť kódu po hlavičku nechcel som to sem dávať celé ...

Petr ZZZ:
Práve, že som len rozmýšlal nad tým ako to nejako ochránik napr. na niektorých stránkach kde predávajú šablóny (na ktorých sa namakajú) tak neponúkajú demo online ale iba nahrávku vídea kde je prezentovaná celá šablóna ale to je nie-moc-košér :)

Rozmýšlam nad tým, že by som to nejak chránil php-čkom ktorý by vložil do šablóny nejaký kľúč ktorý by komunikoval s DB a akonáhle by bol ten kľúč odstránený tak by to zlyhalo správou alebo niečim iným no ako také niečo dosiahnuť keď ani veľké firmy ktoré sa zaoberajú kódovaním šablón to nemajú nejako extra či vôbec ošetrené/chránené.


Trejpa:
Předpokládám, že obfuskátor kódu je na stránkách themeforest.net použit hlavně proti vykradačům designu, kteří nehodlají za vystavené designy určené k prodeji platit a přišli si je zadarmo zkopírovat. V zakoupených designech se toto už vyskytovat nemusí.

Ináč ako dať za tak namakanú šablónu 14.36€ nie je podľa mňa až tak moc keďže cez víkend toho utratím aj 5 násobok takže môžeme ďakovať všetkým okrádačom :) človek aby potom vymýšlal rôzne ochrany a čo ja viem čo len aby si svoju prácu ochránil.
_es
Profil
[#14] Sennin:
Skutočná stránka zo šablóny asi nebude generovaná pomocou JS - ako tá „demo ukážka“. Asi sa autor šablóny ju snaží takto „ochrániť“, no asi to nie je dobrý nápad.
Sennin
Profil
Ale mohli by ste mi povedať čím to zakódoval? nejakým javascript encoderom/decoderom či čo?
Petr ZZZ
Profil
Možná nějakým tzv. „obfuskátorem“, nicméně každý nečitelný kód, který lze interpretovat prohlížečem, lze i rozkódovat do nějaké čitelné podoby:

Dá sa rozkódovať zakódovaný javascript?
Sennin
Profil
Petr ZZZ:
lze i rozkódovat do nějaké čitelné podoby:“ Ale napr. ja som sa snažil dekódovať tú šablónu na ktorú som vyššie odkazoval no žiadny obfuse decoder ho nedokázal dekódovať do čítateľnej podoby.
Petr ZZZ
Profil
Co je nebo není čitelné či člověku srozumitelné, je pochopitelně relativní a závislé v neposlední řadě na konkrétním případu. Také například smysluplné názvy proměnných žádný dekoder nevymyslí. Ale tyto otázky byly obšírně diskutované v odkázaném vláknu.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: