Protectie fisiere javascript?


ultras.nick


Salut,

Am facut un fisier JS pe care il 'chem' in site-ul meu: <script language="javascript" src="filename.js"></script>

Ideea e ca as vrea ca acelasi fisier sa poata fi apelat si de catre alte site-uri, dar as vrea sa protejez sursa.

Am incercat sa pun JS-ul meu intr-un folder protejat cu parola, dar la incarcarea site-ului se cere o parola de logare, cand se incarca fisierul.

Exista vreo metoda sa protejez totusi sursa? Pentru ca acum la o simpla tastare in browser http://www.site-ul-meu.ro/filename.js - este disponibila toata sursa.

Am mai vazut cumva niste combinatii de JS cu PHP, dar nu stiu care e trb cu ele.

Ma poate ajuta cineva?

Multumesc anticipat.

i0nutzb
Întreb și eu ca tot omul... DE CE? Chiar crezi că ai făcut ceva atât de ieșit din comun? :|

Dar na: http://dean.edwards.name/packer/
 
ultras.nick
CITAT (i0nutzb @ 11th June 2009, 16:20) *
Întreb și eu ca tot omul... DE CE? Chiar crezi că ai făcut ceva atât de ieșit din comun? :|

Dar na: http://dean.edwards.name/packer/


Faci si tu un script, asa cum poti mai mic, mai amarat, ti-l pui pe site, ii dai si altuia dreptul sa il embeduiasca (iti lasi si tu o semnatura acolo) vine unul si il ia si zice ca l-a facut el si iti scoate si semnatura. Ti se pare corect?

In alta ordine de idei, nu vad la ce ma ajuta link0ul tau. Ok imi codifica JS-ul, dar se decodifica in Browser, deci ajung de unde am plecat.

Sau poate nu m-am prins eu ce e de facut.

Merci.
again
daca tu ii dai omului decat calea catre acel js, cum crezi ca-l va modifica sa scoata din el semnatura ta?
sau ii dai si acces la ftp? biggrin.gif
i0nutzb
CITAT
Faci si tu un script, asa cum poti mai mic, mai amarat, ti-l pui pe site, ii dai si altuia dreptul sa il embeduiasca (iti lasi si tu o semnatura acolo) vine unul si il ia si zice ca l-a facut el si iti scoate si semnatura. Ti se pare corect


Cum ar fi ăsta? : http://iamntz.com/experiments/dSlide/ w00t.gif
Sunt o GRĂMADĂ de scripturi open source ai căror autori nu-și pun probleme de genul ăsta...


CITAT
In alta ordine de idei, nu vad la ce ma ajuta link0ul tau. Ok imi codifica JS-ul, dar se decodifica in Browser, deci ajung de unde am plecat.

Linkul respectiv reprezintă un tool care îți împachetează scriptul, făcând-ul aproape imposibil de descifrat pentru un cititor.

CITAT
daca tu ii dai omului decat calea catre acel js, cum crezi ca-l va modifica sa scoata din el semnatura ta?

Lasă-l mă, crede și el că a reinventat roata cu un script care face o alertă...
ultras.nick
CITAT (i0nutzb @ 11th June 2009, 20:23) *
Cum ar fi ăsta? : http://iamntz.com/experiments/dSlide/ w00t.gif
Sunt o GRĂMADĂ de scripturi open source ai căror autori nu-și pun probleme de genul ăsta...

Linkul respectiv reprezintă un tool care îți împachetează scriptul, făcând-ul aproape imposibil de descifrat pentru un cititor.


Lasă-l mă, crede și el că a reinventat roata cu un script care face o alertă...


@i0nutzb
Nu ma ajuta ca il impacheteaza, asta am vazut si eu, pentru ca browser-ul il despacheteaza.

Daca ai chef de aere de superioritate mai bine nu te bagi in discutie. Te poti manifesta in alte topic-uri. Multumesc.

Apropos "scripturi ale caror autori".

@again
Nu ii dau acces FTP, dar afisand sursa in browser, poate da foarte usor copy-paste.

Nu e mare lucru un script evident, dar voiam eu sa fac chestia asta. Nu cred ca e relevant de ce.

Multumesc.

again
daca nu te-ai prins pana acum din ironiile susnumitului ce vrei tu nu se poate
tot ce e client side poate fi copiat de ... client
 
ultras.nick
CITAT (again @ 11th June 2009, 21:44) *
daca nu te-ai prins pana acum din ironiile susnumitului ce vrei tu nu se poate
tot ce e client side poate fi copiat de ... client


Eu am vazut pe alte site-uri, bucati de cod care se preluau, de forma:

<script language="JavaScript" type="text/javascript" src="fisier.php"></script>

si daca mergeai si scriai calea in browser "fisier.php" era ceva de genul:

document.write("continutul returnat de script - curs valutar, meteo... etc");

La ceva similar ma refer. Sau poate ca a folosit doar PHP respectivul. Am incercat si eu metoda asta, sa fac un fisier PHP, sa il embeduiesc in tagurile <script> ca mai sus, dar nu imi afiseaza nimic.

i0nutzb
Man, este CLIENT scripting. Orice ai face, sursele ajung pe mașina clientului. Nu ai cum să împiedici asta...
Ți-am dat linkul spre packer pentru că ăla din codul:

CODSURSA
fuction test(e){
console.log(e)
}


Îți face:

CODSURSA
eval(function(p,a,c,k,e,r){e=String;if(!''.replace(/^/,String)){while(c--)r[c]=k[c]||c;k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('1 2(0){3.4(0)}',5,5,'e|fuction|test|console|log'.split('|'),0,{}))


Ceea ce e mai greu de citit pentru un neavizat...
În plus, îl faci să meargă doar pe un domeniu și gata. Ai făcut o protecție.... decentă, să-i zicem smile.gif


ultras.nick


Am reusit cu o combinatie de PHP si JS - practic ceea ce si doream de la inceput.

Am facut un fisier PHP in care am ceva de genul:

echo "document.write(.....)"; si apoi chem PHP-ul in tag-urile <script>. Astfel sursa JS-ul nu se vede decat daca stii calea directa catre el.

Acum ma lovesc de alta problema, cu riscul de a fi off-topic - dar am zis ca ar fi oarecum inutil sa deschid un topic nou.

Am umatoarea sintaxa:
echo "document.write(\"<a href='java script:window.open(\"http://www.google.ro\", \"myWindow\")'><img src='003.jpg' width=200 alt='poza zilei' style='border: 2px solid #CCC'></a>\")";

Problema este ca nu merge (nu se afiseaza nimic), datorita ghilimelelor bolduite. Daca ma poate ajuta cineva cu o sintaxa corecta, va rog. Evident nu stapanesc prea bine JS si nici PHP. Am incercat diferite combinatii, dar fara rezultat - fie nu merge functia JS fie nu mi se mai afiseaza poza deloc.

Sintaxa de mai jos functioneaza:
echo "document.write(\"<a href=003.jpg'><img src='003.jpg' width=200 alt='poza zilei' style='border: 2px solid #CCC'></a>\")";

Multumesc.
i0nutzb
Poți pune un link? Că tare curios sunt să văd cum ai făcut biggrin.gif
ultras.nick
PHP:
CODSURSA
<?php
header("content-type: application/x-javascript");
echo "document.write(\"Salut\")";

...

?>


iar fisierul HTML:
CODSURSA
<script type="text/javascript" src="phpfile.php"></script>


alte intrebari?

i0nutzb
Păi și nu crezi că e același lucru? Firebug și web developer toolbar îți arată și sursa generată (sau modificată cu js). În plus, tot cu firebug poți vedea ce requesturi se fac=> iei direct codul.

ultras.nick
CITAT (i0nutzb @ 17th June 2009, 16:07) *
Păi și nu crezi că e același lucru? Firebug și web developer toolbar îți arată și sursa generată (sau modificată cu js). În plus, tot cu firebug poți vedea ce requesturi se fac=> iei direct codul.


pai eu practic nu mai am nici un fisier JS.

toata sursa e in PHP. din cate stiu eu sursa din PHP nu se poate vedea.

P.S. sus am scris eronat ca poate vedea sursa doar daca stie calea catre JS - eu nu mai am nici un fisier cu extensia JS. eram cu mintea la altele.
i0nutzb
Pune un exemplu online să-ți arăt că se găsește sursa. Și încă f. ușor
ultras.nick
CITAT (i0nutzb @ 17th June 2009, 21:46) *
Pune un exemplu online să-ți arăt că se găsește sursa. Și încă f. ușor


momentan nu am un domeniu pe care sa il urc.

daca te referi ca poti sa vezi "document.write(\"Salut\")", asta stiam deja.
i0nutzb
CITAT
daca te referi ca poti sa vezi "document.write(\"Salut\")", asta stiam deja.

Oricum ai proceda, sursa se poate vedea. JS-ul nu se poate executa altundeva decât în browser. Prin urmare, TREBUIE descărcat.
Absolut tot ce ține de informația din browser (text, imagini, js, css) este descărcat la client, după care nu mai ai niciun control. Cu cât înțelegi mai repede asta, cu atât salvezi mai mulți neuroni biggrin.gif

ultras.nick
CITAT (i0nutzb @ 17th June 2009, 23:57) *
Oricum ai proceda, sursa se poate vedea. JS-ul nu se poate executa altundeva decât în browser. Prin urmare, TREBUIE descărcat.
Absolut tot ce ține de informația din browser (text, imagini, js, css) este descărcat la client, după care nu mai ai niciun control. Cu cât înțelegi mai repede asta, cu atât salvezi mai mulți neuroni biggrin.gif


Nu cred ca tine de neuroni chestia asta, asa ca fa-ti griji doar de ai tai.

Eu iti spuneam mai sus, ca am doar cod PHP, exceptie facand "document.write(' .... ')" - care da, se vede - dar nu ma deranjeaza.

Deci no JS. Cel putin eu asa deduc din ce stiu eu. Daca e sa se vada sursa ar trebui sa se vada sursa PHP - ceea ce nu cred ca este posibil. Decat cu practici murdare.
onlyone
Vad ca nu pricepi.
Pune un link, uploadeaza oriunde si iti aratam JS ul
DarkAngelBv
Pai tu de fapt ce vrei sa ascunzi? decat sa dai echo din php nu mai bine puneai direct intr-un fisier codul respectiv? laugh.gif

Scuza-ma, dar la ora asta nu am suficienti neuroni activi ca sa-mi dau seama de ce vreti voi sa complicati lucrurile banale? biggrin.gif

BTW, solutia data de i0nutzb este una dintre cele mai sigure cai de a ingreuna citirea JS-urilor.
ultras.nick
Mai bine o lasam asa. Gata cu polemica. smile.gif Ori nu ma exprim eu foarte bine ori aveti voi dreptate - ori ambele:)

Ma poate ajuta cineva cu cealalta problema?

CITAT
Am umatoarea sintaxa:
echo "document.write(\"<a href='java script:window.open(\"http://www.google.ro\", \"myWindow\")'><img src='003.jpg' width=200 alt='poza zilei' style='border: 2px solid #CCC'></a>\")";

Problema este ca nu merge (nu se afiseaza nimic), datorita ghilimelelor bolduite. Daca ma poate ajuta cineva cu o sintaxa corecta, va rog. Evident nu stapanesc prea bine JS si nici PHP. Am incercat diferite combinatii, dar fara rezultat - fie nu merge functia JS fie nu mi se mai afiseaza poza deloc.

Sintaxa de mai jos functioneaza:
echo "document.write(\"<a href=003.jpg'><img src='003.jpg' width=200 alt='poza zilei' style='border: 2px solid #CCC'></a>\")";


Multumesc.
Reclama
Am vazut aici ca au CASCO cu 5% mai ieftin. Pentru Renault e oferta in principal! Pare OK... uitati-va si voi!
Aceasta este o versiune simplificată a paginii originale. Pentru a vizita versiunea originala click aici.