IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

proteger fichier javascript du visionnage


Sujet :

Windows

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 7
    Points : 1
    Points
    1
    Par défaut proteger fichier javascript du visionnage
    bonjour,
    je créer des fichiers JavaScript, mais ceux-ci sont accessibles par tout le monde par le biais du code source.
    Après m'être renseigné, j'ai découvert la fonction référer. Ne connaissant pas le langage C++, je me suis renseigné mais j'aimerais avoir confirmation car le seul site parlant de cette fonction est MSDN dont l'URL est :http://msdn.microsoft.com/library/fr...classtopic.asp. Comment créer la DLL? Où le placer sur le site?
    J' utilise Visual studio 2005 sous Windows xp.
    La création de cette DLL est-elle très compliquée?
    Merci de votre aide

  2. #2
    Membre éclairé
    Avatar de buzzkaido
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2004
    Messages
    821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2004
    Messages : 821
    Points : 734
    Points
    734
    Par défaut
    Le javascript est executé par le navigateur.

    Il doit donc être transmis au navigateur pour que celui-ci puisse l'executer.

    Une fois transmis au navigateur, il existe toujours une possibilité de visionner le code source. (cf extensions firefox et cie)

    Il est donc impossible de proteger ton code javascript, c'est comme essayer de proteger du code HTML, puisqu'on le transmet, on ne peut le proteger.

    Par contre, tu peux le rendre illisible : par exemple, tu sauvegarde la version final de tes sources en supprimant tous les commentaires, les espaces, les retours chariots, et tu renomme les variables et les fonctions avec des noms illisbles (genre 0fg542t)

    Mais de toute maniere, on ne peut rien faire de tres exeptionnel en javascript, et personne ne copie les sources javascript de quelqu'un d'autres, puisque pour pouvoir s'en servir il faut connaitre le javascript, et quand on connait le javascript il est plus rapide d'ecrire son propre code que d'essayer de comprendre celui de quelqu'un d'autre.

    En web, à ma connaissance, on ne peut proteger que les scripts coté serveur (PHP, ASP...) et coté client les applet et activeX puisque c'est du code compilé (et encore, pour les applets, on peut facilement decompiler)

    Un conseil : laisse tomber, à moins d'avoir fait un script Javascript capable de piloter un missile nucleaire, personne n'ira piquer tes sources. Et comme on ne peut piloter un missile nucleaire en Javascript...

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Mercier, de ta réponse mais bon je vais devoir m'acharner car ceci n'est pas pour moi mais dans le cadre d'un stage. Merci merci d'avoir répondu est si d'autres personnes savent utiliser la fonction référer je suis toujours preneur. Apparemment il faut utiliser l'option atl serveur chez Microsoft Visual Basic. Encore merci
    CHOPPER le jeune pirate

  4. #4
    Membre éclairé
    Avatar de buzzkaido
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2004
    Messages
    821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2004
    Messages : 821
    Points : 734
    Points
    734
    Par défaut
    Que cherches-tu a faire exactement ?

    A priori, je ne vois aucun rapport entre le Visual Basic et le fait de cacher ton code javascript.

    Car comme je l'ai dit plus haut, le navigateur a BESOIN du code javascript pour afficher le site internet, donc celui-ci est forcement transmis et donc forcement visible.

    A moins que ce ne soit pas dans le cadre d'un site web ?

  5. #5
    Membre confirmé Avatar de themadmax
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    446
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 446
    Points : 496
    Points
    496
    Par défaut
    Il me semble que tu peux gruger en cryptant ton code, et le décrypter "en live" et l'exécuter. Mais le première bidoulieur aura toujours moyen de décrypter le code car le code est dans ton script.
    Sinon oriente toi vers un code coté serveur, ou du java, ou vers l'OpenSource (partage ton code!)
    ________________________________________________
    http://bliquid.fr : Blog sur Android et l'Acer Liquid

  6. #6
    Membre éclairé
    Avatar de buzzkaido
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2004
    Messages
    821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2004
    Messages : 821
    Points : 734
    Points
    734
    Par défaut
    Pour ce qui est de "referrer" :

    Il s'agit d'une propriété HTML/DHTML (à mon avis, utilisable uniquement sous IE, mais pas testé)

    http://msdn2.microsoft.com/en-us/library/ms534365.aspx

    This property returns a value only when the user reaches the current page through a link from the previous page. Otherwise, document.referrer returns an empty string; it also returns an empty string when the link is from a secure site.

    For example, if PageA.htm includes a link to PageB.htm, and the user clicks that link, the document.referrer on PageB.htm returns "PageA.htm." However, if the user is on PageA.htm and types PageB.htm into the address line or chooses the Open command from the File menu to get to PageB.htm, the document.referrer returns an empty string.
    Donc bon, aucun rapport avec "proteger du javascript", ce qui, je le repete, est impossible car va à l'inverse du principe du Web (envoyer des données)

    La seule protection possible est, comme le dit themadmax, de crypter le code, mais dans ce cas tu dois aussi envoyer le code pour decrypter, donc ça sert à rien.

    Ou rendre le code illisible par un humain (trop complexe à lire, quoi).

    Mais dans ces deux cas, tu ralentit serieusement le traitement.

    Pour proteger du code executé sur des sites web, je ne vois que 2 solutions :

    - code coté serveur
    - code compilé -> activeX ou Java (pas javascript, c'est pas pareil)

    L'idéal, c'est du code coté serveur, celui-ci ne pourra être lû que par des pirates de très haut niveau...

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    encore merci de votre aide.
    Le le référer ne sert pas qu'à protéger le JavaScript mais à empêcher l'ouverture de pages si ce n'est pas le site qui le demande. On peut également créer ce filtre en JavaScript mais ce n'est pas le but de mon stage.Un exemple en JavaScript : http://blog.eurekaa.org/eurekaa_blog...ontre-la-copie
    j'ai reçu cette fonction JavaScript. Maintenant je dois la faire en C++. Merci à tous.

  8. #8
    Membre éclairé
    Avatar de buzzkaido
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2004
    Messages
    821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2004
    Messages : 821
    Points : 734
    Points
    734
    Par défaut
    Pourrais-tu m'expliquer comment tu proteges du javascript avec referer ?

  9. #9
    Membre éclairé
    Avatar de buzzkaido
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2004
    Messages
    821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2004
    Messages : 821
    Points : 734
    Points
    734
    Par défaut
    L'idée postée sur le site :

    http://blog.eurekaa.org/eurekaa_blog...ontre-la-copie

    est plutot pas mal.

    Mais vu que le javascript est fourni au navigateur, on peut toujours le lire...

    Trouvé sur developpez.com :

    http://lgmorand.developpez.com/artic...refox/#L2.2.12

    C'est un debuggeur javascript, et si tu ouvres la page d'exemple du site, tu verra clairement le code de la fonction"sayHello" soit-disant protégée...

  10. #10
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    désolé tout à l'heure je t'ai dit que le code était en JavaScript mais en fait c'est du PHP... Et pour protéger avec le référer il suffit d'empêcher la page de s'ouvrir si le référer n'est pas le site de base. Je sais qu'il existe diverses façons de changer le référer mais je vaudrai quand même faire ce code.

  11. #11
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    ps : bravo pour firbug très pratique

  12. #12
    Membre éclairé
    Avatar de buzzkaido
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2004
    Messages
    821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2004
    Messages : 821
    Points : 734
    Points
    734
    Par défaut
    Il ne s'agit pas de changer le referer pour pouvoir charger le fichier .js

    Il s'agit uniquement de regarder les données presentes dans la mémoire du navigateur (avec un debuggeur, par exemple)

    Ca tu ne pourras jamais l'empecher.

    Ceci dit, l'idée n'est pas mauvaise et empeche quelqu'un qui n'y connait rien de piquer ton code.

    Mais quelqu'un qui n'y connait rien ne serait pas capable de s'en servir.

    Par contre, un developpeur "serieux" qui veut te piquer ton code y arrivera...

  13. #13
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    C'est vrai un des problèmes de l'informatique mais également un avantage, c'est le partage des données. je pense que je vais continuer d'essayer de faire ce filtre. Penses-tu que ATL Server est le plus adapté pour cela? merci d'être aussi patient

  14. #14
    Membre éclairé
    Avatar de buzzkaido
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2004
    Messages
    821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2004
    Messages : 821
    Points : 734
    Points
    734
    Par défaut
    J'y connais pas grand chose en ATL server, mais :

    mais également un avantage, c'est le partage des données
    Sur ce principe, le PHP est mieux : tu trouvera plus d'infos et plus facilement, et c'est pas microsoft... (paske coté partage des données... ils sont pas top)

    Après, de toute manère, quel que soit le langage coté serveur que tu utilises, ça ne change pas grand chose.

    Tu peux faire un truc tres simple, avec une regle sur tous les fichiers .js :
    - lorsqu'un acces à un fichier .js est demandé : verifier le HTTP_REFERER
    - si c'est une url du site (verifier juste le doamine doit suffire) envoyer le .js
    - sinon, envoyer "Tu me piqueras pas mon code top-secret"

  15. #15
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    merci pour toutes informations. Je vais essayer.merci pour les conseils. Je garde l'idée de C++ car le maître de stage m'a demandé sa

Discussions similaires

  1. [PHP-JS] Récupérer une variable php dans un fichier javascript
    Par zoom61 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 03/11/2006, 11h00
  2. Probleme import fichier javascript
    Par snoozer dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 30/08/2006, 11h59
  3. appel fichier javascript
    Par bressan dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 15/06/2006, 16h51
  4. fichier javascript externe
    Par Dave Lopeur dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 15/05/2006, 11h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo