Discussions apparemment similaires...
Discussion : Auteur Réponses : Affichages : Dernier message
  Protection Injection SQL MyHeadXplod 5 332 12-07-2007 04:16 PM
Dernier message: Sephi-Chan
  Protection des variables & expression régulière LexLxUs 4 139 12-04-2007 11:58 PM
Dernier message: LexLxUs
  Vérifier l'existence d'un répertoire sur un serveur distant via FTP LexLxUs 6 348 05-04-2007 11:33 AM
Dernier message: LexLxUs

Poster une réponse 
 
Note de cette discussion :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[PHP] Protection de repertoire
Auteur Message
Wells Hors ligne
Membre

Messages : 325
Inscription : May 2007
Réputation : 7
Message : #1
Protection de repertoire
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 :
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?

[Image: bandyn.php]
02-08-2010 05:08 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
pascal Hors ligne
Membre

Messages : 845
Inscription : Aug 2006
Réputation : 15
Message : #2
Protection de repertoire
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

Tuto SQL - Tuto POO - profil sur CreaJeu
FAQ sur la création de jeux web (8 articles)
02-08-2010 06:12 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Sephi-Chan En ligne
Administrateur
*******

Messages : 5 083
Inscription : Aug 2006
Réputation : 43
Message : #3
Protection de repertoire
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

Bug Spirit sur JeuWeb mais aussi sur BugSpirit.net !

Ruby on Rails - Tutoriels récents
02-08-2010 06:24 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
php_addict Hors ligne
Membre

Messages : 187
Inscription : Oct 2009
Réputation : 0
Message : #4
Protection de repertoire
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...
02-08-2010 06:59 PM
Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
My Hotel Hors ligne
Membre

Messages : 432
Inscription : Jun 2008
Réputation : 7
Message : #5
Protection de repertoire (Ce message a été modifié le : 02-08-2010 08:02 PM par My Hotel.)
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
02-08-2010 07:38 PM
Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Roworll Hors ligne
Membre

Messages : 952
Inscription : Dec 2006
Réputation : 14
Message : #6
Protection de repertoire
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 34.

"La vanité est mon pêché préféré."
John Milton, L'associé du diable
"Des raisons d'être misanthrope, j'en ai plus de six milliards"
Dieu
02-09-2010 09:04 AM
Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
keke Hors ligne
Modérateur
*****

Messages : 1 999
Inscription : Mar 2007
Réputation : 21
Message : #7
Protection de repertoire
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é

Kéké < AFK ! >.
Modérateur de jeuPHP 34.
Administrateur du jeu médiéval Magdales
Papa de Siloé (2 ans) et Apolline (10 jours)
Référenceur de LADO : les amis de l'outil
02-09-2010 10:50 AM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
barst Hors ligne
Membre

Messages : 233
Inscription : Oct 2006
Réputation : 5
Message : #8
Protection de repertoire
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/

Blog : Zen In Progress
Projet : eXodus
[Image: btn_liprofile_blue_80x15.gif]
02-09-2010 11:22 AM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
My Hotel Hors ligne
Membre

Messages : 432
Inscription : Jun 2008
Réputation : 7
Message : #9
Protection de repertoire
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 :
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 2

Bye
02-09-2010 12:36 PM
Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Wells Hors ligne
Membre

Messages : 325
Inscription : May 2007
Réputation : 7
Message : #10
Protection de repertoire
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 16

[Image: bandyn.php]
02-09-2010 06:48 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Poster une réponse 



ContactJeuWeb - Crée ton jeu par navigateurRetourner en hautRetourner au contenuVersion bas-débit (Archivé)Syndication RSS