JeuWeb - Crée ton jeu par navigateur
Protection de repertoire - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Protection de repertoire (/showthread.php?tid=4550)

Pages : 1 2


Protection de repertoire - Wells - 08-02-2010

Bonjour à tous. J'ai besoin de protéger un répertoire contenant des JS.

Au delà du soucis du cache navigateur qui ne sera pas abordé ici voila ce que j'ai mit:

Dans le repertoire JS:
Code PHP :
<?php 
RewriteEngine on
RewriteCond
%{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://votresite.tld
ReWriteRule .*\.(gif|png|jpe?g)$ - [F]

Ce code interdit d'accéder au répertoire JS, certes, mais il n'interdit pas d'appeler un JS particulier si on a son nom (ce qui est le cas en regardant la source de la page.

Y a t'il moyen de faire le genre de protection que je recherche?


RE: Protection de repertoire - pascal - 08-02-2010

Tu n'auras jamais de protection totale, mais simplement plus ou moins de sécurité = temps à passer, outils à utiliser pour accéder au code source.

Petite question en passant : pourquoi vouloir garder le secret sur ce code javascript ?

Pascal


RE: Protection de repertoire - Sephi-Chan - 08-02-2010

Ton code Javascript sera forcément accessible d'une manière ou d'une autre.
Maintenant il faudrait que tu expliques pourquoi tu souhaites le rendre inaccessible, car il peut y avoir des alternatives (par exemple un script qui rend du JS si on est connecté au site).


Sephi-Chan


RE: Protection de repertoire - php_addict - 08-02-2010

ton code réécrits les url des images (gif|png|jpe?g) et non pas des fichiers .js

effectivement mieux vaut nous dire pourquoi compte faire tu cela...meme sur les tres gros et tres connus mmorp on peut voir les source JS...


RE: Protection de repertoire - My Hotel - 08-02-2010

Ben oui, pour moi si les sources JS sont utilisées, elles sont chargées par le navigateur donc lisibles. Après, que ce soit le navigateur qui demande la ressource, où l'utilisateur qui va explicitement sur la page où elles sont, le serveur ne peut pas voir de différences.
C'est pas comme les sources PHP qui sont incluses par le serveur (include/require), les sources JS sont toujours inclues par le client (s'il y a inclusion genre <script src=..). Peux-tu empêcher la copie de tes images? Ben le JS c'est la même.
Tu peux toujours ubfusquer tes sources, mais au final, si quelqu'un les veut, il les aura. Comme l'a dit Sephi, tu peux à la limite créer un script PHP qui affiche la source seulement si des conditions sont remplies.
Mais si tu veux être sûr de ne pas divulger tes sources, fais le maximum en PHP.

Bye


RE: Protection de repertoire - Roworll - 09-02-2010

Moi aussi je suis bien curieux de savoir pourquoi tu souhaites empêcher l'accès au JS.
Qu'y a-t-il donc de si secret et de si sensible à l'intérieur pour que tu souhaites le garder jalousement ?

En général, le JS ne devrait servir qu'à rendre l'interface plus conviviale (redirections, effets, etc). A partir du moment ou tu as respecté la règle d'or dans ton code PHP (ne jamais faire confiance aux données venant du client), exposer ton JS ne devrait poser aucun problème.

A moins que cela ne soit un simple problème de paranoïa ^^.


RE: Protection de repertoire - keke - 09-02-2010

Il peut y avoir des raisons à vouloir garder le secret.

On peut faire des applis batties sur le JS et l'on ne souhaite pas voir la fonctionnalité intégralement recopiée sur un autre site.

Cela dit ... je JS est difficilement encapsulable dans un format protégé ...

Kéké


RE: Protection de repertoire - barst - 09-02-2010

Tu as essayé de "packer" tes sources ?

Bloquer l'accès à une ressource web est limite impossible il y aura toujours un moyen de contournement, il vaut mieux se rabattre sur l'obfuscation du code : http://javascriptcompressor.com/


RE: Protection de repertoire - My Hotel - 09-02-2010

Oui mais l'obfuscation est réversible, plus ou moins facilement selon l'obfuscateur. Et puis, ça bouffe plus de puissance au navigateur, donc pour les ordis peu puissant, c'est dommage.
Genre var lol = "hello"; se transforme en
Code PHP :
<?php 
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}('0 1="2";',3,3,'var|lol|hello'.split('|'),0,{}))
Surtout que finalement, ça changera rien.
Pour moi, c'est que des inconvénients, donc Smile

Bye


RE: Protection de repertoire - Wells - 09-02-2010

Disons globalement que l'interface étant en ajax. Accéder au sources JS facilite la tentative d'infection de code malicieux. Le code JS ne peut être totalement protéger notamment des debuggers, cependant on peut compliquer la tache un minimum aux escrocs en tout genre Wink