A voir également:
- [PHP, Javascript] Variable et return ...
- Telecharger javascript - Télécharger - Langages
- Easy php - Télécharger - Divers Web & Internet
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp ✓ - Forum Word
- Javascript void 0 c'est quoi ✓ - Forum Réseaux sociaux
7 réponses
nico7382
Messages postés
279
Date d'inscription
lundi 6 juin 2005
Statut
Membre
Dernière intervention
22 décembre 2010
50
24 févr. 2010 à 12:35
24 févr. 2010 à 12:35
Salut,
en faite le soucis c'est quand l'user regarde la source de ton fichier "lesvariables.php"
Ne cesserai-t-il pas plus simple de couper l'exécution de la page si elle n'est pas exécuté par ton serveur?
exemple : (je sais pas si mon exemple est bon, mais voilà.. j'ai faim ^^)
En début de fichier lesvariables.php
un code du style :
if (!regexp( 'filtre pour cibler ton site',$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']) ) { //je connais pas la syntaxe de regexp
header("/index.php");
exit;
}
en faite le soucis c'est quand l'user regarde la source de ton fichier "lesvariables.php"
Ne cesserai-t-il pas plus simple de couper l'exécution de la page si elle n'est pas exécuté par ton serveur?
exemple : (je sais pas si mon exemple est bon, mais voilà.. j'ai faim ^^)
En début de fichier lesvariables.php
un code du style :
if (!regexp( 'filtre pour cibler ton site',$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']) ) { //je connais pas la syntaxe de regexp
header("/index.php");
exit;
}
merci pour ta réponse
mais je pense que le problème sera toujours le même car quelqu'un qui ira dans mon code source de la page HTML verra le lien vers "/javascript/lesvariables.php" et tapera dans sa barre de code : http://monsite.com/javascript/lesvariables.php et comme cela viendra de monsite.com, le print se fera ...
sauf si j'ai mal compris ta suggestion
(d'ailleurs, regexp n'existe pas ... y'a ereg qui existe, mais je sais pas si c'est ce que tu voulais dire, et qu'entends-tu par 'filtre pour cibler ton site' ?)
merci en tout cas ;)
mais je pense que le problème sera toujours le même car quelqu'un qui ira dans mon code source de la page HTML verra le lien vers "/javascript/lesvariables.php" et tapera dans sa barre de code : http://monsite.com/javascript/lesvariables.php et comme cela viendra de monsite.com, le print se fera ...
sauf si j'ai mal compris ta suggestion
(d'ailleurs, regexp n'existe pas ... y'a ereg qui existe, mais je sais pas si c'est ce que tu voulais dire, et qu'entends-tu par 'filtre pour cibler ton site' ?)
merci en tout cas ;)
nico7382
Messages postés
279
Date d'inscription
lundi 6 juin 2005
Statut
Membre
Dernière intervention
22 décembre 2010
50
24 févr. 2010 à 12:59
24 févr. 2010 à 12:59
si l'expression régulière est suffisamment précise, tu peux dire :
si l'url de la page actuelle n'est pas "http://monsite.com/javascript/lesvariables.php" mais "http://monsite.com/page_qui_appel_lesvariables.php"
alors je lis la page.
sinon je cache les sources
si l'url de la page actuelle n'est pas "http://monsite.com/javascript/lesvariables.php" mais "http://monsite.com/page_qui_appel_lesvariables.php"
alors je lis la page.
sinon je cache les sources
Bon, ca ne marche toujours pas
voilà où j'en suis : dans lesvariables.php :
if($_SERVER{'SERVER_NAME'}.$_SERVER{'PHP_SELF'}=="www.monsite.com/la_page_appelante.php"){
print $variables;
}
else{
$test = $_SERVER{'SERVER_NAME'}.$_SERVER{'PHP_SELF'};
print 'var test = "'.$test.'" ;';
}
et avec un alert(test) dans mon javascript qui me met : www.monsite.com/javascript/lesvariables.php
j'ai du mal comprendre ce que tu voulais faire, parce qu'en fait, le 'PHP_SELF' prend la page du php où est placé $variables et non la page HTML où est le script (la page appelante)
bref, je suis perdu ...
voilà où j'en suis : dans lesvariables.php :
if($_SERVER{'SERVER_NAME'}.$_SERVER{'PHP_SELF'}=="www.monsite.com/la_page_appelante.php"){
print $variables;
}
else{
$test = $_SERVER{'SERVER_NAME'}.$_SERVER{'PHP_SELF'};
print 'var test = "'.$test.'" ;';
}
et avec un alert(test) dans mon javascript qui me met : www.monsite.com/javascript/lesvariables.php
j'ai du mal comprendre ce que tu voulais faire, parce qu'en fait, le 'PHP_SELF' prend la page du php où est placé $variables et non la page HTML où est le script (la page appelante)
bref, je suis perdu ...
Flachy Joe
Messages postés
2103
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
21 novembre 2023
260
24 févr. 2010 à 18:39
24 févr. 2010 à 18:39
Salut,
il y a 2 possibilité :
- soit tu as besoin du contenu des variables que tu souhaites cacher dans un javascript (donc coté client)
- soit tu n'as besoin de ces variables que dans php (coté serveur)
Si tu transmets des données au client alors l'utilisateur y aura FORCEMENT accès (au pire en étudiant les réponses aux requêtes du navigateur). Il est donc totalement inutile de vouloir les cacher.
il y a 2 possibilité :
- soit tu as besoin du contenu des variables que tu souhaites cacher dans un javascript (donc coté client)
- soit tu n'as besoin de ces variables que dans php (coté serveur)
Si tu transmets des données au client alors l'utilisateur y aura FORCEMENT accès (au pire en étudiant les réponses aux requêtes du navigateur). Il est donc totalement inutile de vouloir les cacher.
Merci de ta réponse,
la variable php devient une variable javascript par un print (ou echo) de celle-ci dans le fichier php.
La variable javascript, j'en ai donc forcement besoin. J'ai bien compris que javascript s'affichait coté client, mais par exemple, y'a un moyen de cacher ces variables javascript au moyen d'un <script type="text/javascript" src="/javascript/mesvariables.php"></script> dans la page HTML (ainsi, le visiteur qui regarde le source ne voit pas les variables directement, mais il peut les voir en allant dans /javascript/mesvariables.php, puisque ce fichier contient un print.
Bref, le moyen que j'explorais avec Nico semblait le bon, simplement, je n'arrive pas a l'implémenter dans le fichier mesvariables.php:
si la page appelante est le document HTML : alors on fait le print
sinon : on ne le fait pas
ca a l'air simple, mais ca ne l'est pas .... y'a forcement une solution ...
la variable php devient une variable javascript par un print (ou echo) de celle-ci dans le fichier php.
La variable javascript, j'en ai donc forcement besoin. J'ai bien compris que javascript s'affichait coté client, mais par exemple, y'a un moyen de cacher ces variables javascript au moyen d'un <script type="text/javascript" src="/javascript/mesvariables.php"></script> dans la page HTML (ainsi, le visiteur qui regarde le source ne voit pas les variables directement, mais il peut les voir en allant dans /javascript/mesvariables.php, puisque ce fichier contient un print.
Bref, le moyen que j'explorais avec Nico semblait le bon, simplement, je n'arrive pas a l'implémenter dans le fichier mesvariables.php:
si la page appelante est le document HTML : alors on fait le print
sinon : on ne le fait pas
ca a l'air simple, mais ca ne l'est pas .... y'a forcement une solution ...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Flachy Joe
Messages postés
2103
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
21 novembre 2023
260
24 févr. 2010 à 19:04
24 févr. 2010 à 19:04
Le script sera chargé dans le cache du navigateur donc lisible par l'utilisateur (essaye firebug, onglet script tu verras...).
Tes données doivent rester sur le serveur, débrouilles toi pour modifier le javascript et faire faire la partie qui a besoin des variables cachées par PHP.
Tes données doivent rester sur le serveur, débrouilles toi pour modifier le javascript et faire faire la partie qui a besoin des variables cachées par PHP.
nico7382
Messages postés
279
Date d'inscription
lundi 6 juin 2005
Statut
Membre
Dernière intervention
22 décembre 2010
50
24 févr. 2010 à 19:33
24 févr. 2010 à 19:33
excuse moi pour t'avoir induit en erreur plus haut sur ca : $_SERVER{'SERVER_NAME'}.$_SERVER{'PHP_SELF'}
se que je voulais, c'est l'url de la page appelé, j'ai fait vite, en tapant sous google, et j'ai trouvé ca qui semblait correspondre :
c'est ca : $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']
par contre, flachy a raison, le script est chargé et donc souvent visible par les outils des développeurs, qui permette le debuggage d'application.
se que je voulais, c'est l'url de la page appelé, j'ai fait vite, en tapant sous google, et j'ai trouvé ca qui semblait correspondre :
c'est ca : $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']
par contre, flachy a raison, le script est chargé et donc souvent visible par les outils des développeurs, qui permette le debuggage d'application.
merci Nico, c'est bien ce que je cherchais mais en fait je l'ai trouvé dans l'intervalle, mais avec la variable $_SERVER{'HTTP_REFERER'}
d'ailleurs, le test :
if($_SERVER{'HTTP_REFERER'}=="http://www.monsite.com/page_appelante.php"){
print $esvariables;
}
else{
$test = $_SERVER{'HTTP_REFERER'};
print 'var test = "'.$test.'" ;';
}
fonctionne sous safari, mais pas sous firefox !!!!!!!!!!!
une idée ??
en revanche, effectivement, flachy, mes variables sont biens visibles, mais dans l'onglets "DOM" .... :(
le problème est que je suis obligé de faire passer mes variables dans le javascript puisqu'en réalité, ce sont des points GPS que je rentre dans une base SQL et que je suis obligé d'appeler par javascript pour les afficher dans googlemap .... si vous avez une idée pour que je puisse faire ca coté serveur et afficher au client juste la carte avec les points, mais sans pouvoir les voir avec firebug ...
merci encore, je progresse
d'ailleurs, le test :
if($_SERVER{'HTTP_REFERER'}=="http://www.monsite.com/page_appelante.php"){
print $esvariables;
}
else{
$test = $_SERVER{'HTTP_REFERER'};
print 'var test = "'.$test.'" ;';
}
fonctionne sous safari, mais pas sous firefox !!!!!!!!!!!
une idée ??
en revanche, effectivement, flachy, mes variables sont biens visibles, mais dans l'onglets "DOM" .... :(
le problème est que je suis obligé de faire passer mes variables dans le javascript puisqu'en réalité, ce sont des points GPS que je rentre dans une base SQL et que je suis obligé d'appeler par javascript pour les afficher dans googlemap .... si vous avez une idée pour que je puisse faire ca coté serveur et afficher au client juste la carte avec les points, mais sans pouvoir les voir avec firebug ...
merci encore, je progresse
Flachy Joe
Messages postés
2103
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
21 novembre 2023
260
24 févr. 2010 à 19:56
24 févr. 2010 à 19:56
Quel est l'intérêt de cacher les coordonnées ? A partir de la carte google l'utilisateur pourra les obtenir non ?
oui c'est sur, il pourra les obtenir, mais en se faisant beaucoup plus "chier" qu'en prenant simplement le tableau des points que JE me suis fait "chier" à faire ...
L'objectif est que la copie soit fastidieuse pour celui qui veut copier ...
Je crains que de le faire coté serveur semble compromis, je vais devoir me résoudre à laisser à la portée de tous mon travail, non pas que je sois contre, mais avec un minimum de délicatesse, me demander l'autorisation :D ...
L'objectif est que la copie soit fastidieuse pour celui qui veut copier ...
Je crains que de le faire coté serveur semble compromis, je vais devoir me résoudre à laisser à la portée de tous mon travail, non pas que je sois contre, mais avec un minimum de délicatesse, me demander l'autorisation :D ...