Lire un JS sans permettre son telechargement

WRInaute impliqué
bonjour

je voudrais utilser la commande
<scrpt type="text/javascript" src="nom_du_scripts.js"></script>

pour executer le script, mais rendre impossible l'accès au fichier en faisant http://mondomaine.com/nom_du_script.js

j'ai tenté un chmod 740 sur le fichier .js mais ca marche pas, il faut absolument le mettre en lecture pour qu'il soit interprété par le navigateur... et donc je tourne en rond.

par htaccess ?
 
WRInaute accro
French Dread a dit:
Utilise peut être un langage de script coté serveur dans ce cas ? (PHP, ASP...)
Les langages côté serveur et côté client ont des intérets et fonctionnalités différentes.
Généralement, si on passe par du javascript, c'est parce que l'on désire faire des choses qui ne le sont pas en php ...

Sinon, +1, c'est imposible excepté en ne mettant pas du tout le javascript en ligne (la question a déjà souvent été postée pour les images, le cas est similaire)
 
WRInaute occasionnel
tu dois pouvoir avec le $_SERVER['referer'] si il est vide, c'est qu'on visionne ta page js, s'il est plein c'est qu'elle est incluse

Mias pour l'avoir essayé sur des images, ca marche très mal
 
WRInaute accro
et tous les gars qui sont chez un FAI qui bloque les referes (AOL ?) ou passent par un proxy ? cela ne marchera pas sur le site
 
WRInaute accro
Merci pour ce rappel spationaute-troglodyte ... :roll:
Mais comme le dit e-kiwi, certains fai bloquent le referer.
Ceux-ci n'auront pas de javascript, même sur le site.
 
WRInaute occasionnel
kazhar a dit:
Merci pour ce rappel spationaute-troglodyte ... :roll:
Mais comme le dit e-kiwi, certains fai bloquent le referer.
Ceux-ci n'auront pas de javascript, même sur le site.
tu as pas lu mon post et testé mon petit bout de code plus haut..

le referer sur le fichier js, c'est la page qui fait appel au js et pas le moteur
 
WRInaute accro
On ne parle pas du moteur de recherche là, on parle du FAI.
Si celui-ci bloque le referer, tu n'en aura aucun, donc tu aura l'impression que le visiteur charge la page de manière anormale.
Alors que ce ne sera absolument pas le cas.
 
WRInaute occasionnel
le code dans le fichier JS que j'ai rewrité


Code:
<?php 
$refer = $_SERVER['HTTP_REFERER'];
if ($refer) {
?>
function whorefer() {
	alert('<?=$refer ?>');
	}
	
//refer = <?=$refer ?>
<?php } ?>
http://www.forum-foot.info/test-js.js -> vu
->http://www.forum-foot.info/test-js.js pas vu

tu peux meme l'ameliorer en obligent le referer depuis ton domaine
mais comme le dit le pere fourasse, on peut encore le trouver dans le cache du navigateur,
à ce moment là tu peux peut etre forcer le cache systeme avec les entêtes php

Code:
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', FALSE);
header('Pragma: no-cache');
mais j'ai pas testé, je sais pas comment se comporte réellement le navigateur


Edit : je savais pas que des fai bloquait le referer??
comment font ils? tu parle de l'interface de aol..
qui utilise encore ca?
 
WRInaute accro
Tu ne comprends pas ce que j'essaye de dire ...
Si le FAI (Fournisseur d'Accès Internet, celui qui te fournit ta connection internet ...) bloque le referer, la variable $_SERVER['HTTP_REFERER'] sera toujours vide pour l'utilisateur dont le FAI fait cela.

Donc, ces visiteurs, peut être rares, mais existants, n'auront pas accès à ton javascript.
Ton script ci-dessus n'aura aucun effet sur ces visiteurs.
 
WRInaute occasionnel
spationaute-troglodyte a dit:
je savais pas que des fai bloquaient le referer??

comment font ils?
tu parle de l'interface de aol.. qui utilise encore ca?

le referer est pas dégagé par le server referant, ou meme le Fai,
mais par le navigateur et sous IE sans bug comme sous FF il y a un référent quelques soit ton mode de connection
 
WRInaute passionné
Il y a aussi Norton et Privoxy qui enlevent le referer. En fait, sur mon site, ca represente presque 5% du traffic.
Et ca ne sert rien, surtout pour ceux qui surfent avec wget.
Code:
wget --referer x http://www.forum-foot.info/test-js.js
 
WRInaute passionné
spationaute-troglodyte a dit:
:lol: t'as rien compris
J'ai peut-etre rien compris mais en tout cas j'ai recupere ton JS sans visiter ta page.
spationaute-troglodyte a dit:
justement! il faut que le referer soit la page ou tu le demande :D
Pas de probleme. Je peux mettre autre chose que 'x' pour le referer. Par exemple ta page.
 
WRInaute accro
sebnutt a dit:
ok, laissez tomber, j'opte pour l'obfuscation du code, ca suffira...
Ça suffira pour les curieux lambdas, ceux qui de toute façon ne comprendraient pas comment utiliser tes fonctions :) Oublie l'obfuscation et peaufine plutôt ton code pour le rendre ennuyeux à lire et à comprendre, dans le genre var n=function (...
 
WRInaute impliqué
c'est un peu le but de l'obfuscation, justement.
j'ai obtenu un code à rallonges, super galère à décortiquer. donc à priori, ca ma convient assez...

Et si ça convient à gmail, c'est bon pour moi ;)
 
WRInaute impliqué
Arrange-toi pour ouvrir une session qui ne dure qu'une seconde, dans laquelle tu passes un paramètre quelconque.
Il y a plusieurs manières de faire cela en php (même sans cookie).
Ensuite, appelle ton js:
<script src="fichier.php?parametre= ... <? ici, ton paramètre de session.
Puis, il reste à tester dans fichier.php si $_GET["parametre"] équivaut à ton paramètre de session. Si ce n'est pas le cas, le js n'est pas envoyé au client.
Difficile de cette manière d'accéder au js sans passer par l'index (manuellement en tout cas).
;)
 
WRInaute passionné
Tilt a dit:
Difficile de cette manière d'accéder au js sans passer par l'index
Merci. Effectivement le passage par la page est obligatoire. En y repensant, je pense qu'en combinant https, Ajax, cryptage et eval(), il doit etre possible de dissimuler le JS (sauf a modifier le navigateur et/ou l'interpreteur).
 
WRInaute impliqué
Si tes investigations te mènent à découvrir une méthode différente, je serais heureux que tu me la fasses connaître !
 
WRInaute passionné
mais est ce que ça empeche l'internaute d'avoir acces au fichier js ??

qu'est ce qui va m'empecher de faire

> fichier
> enregistrer sous
> ta page.html // web page complete

et d'aller voir dans le dossiers fichiers annexe si le js y est

rog
 
Nouveau WRInaute
salut je suis dans le train là mais en faisant un include d'une page html vierge contenant le js il me semble qu'il ne sera pas apparent non?
 
Discussions similaires
Haut