Qu'est ce que tu veux dire par :
Citation:
faut bien vérifier cette chaine
Version imprimable
Qu'est ce que tu veux dire par :
Citation:
faut bien vérifier cette chaine
le but c'est que la page ne s'ouvre que si l'utilisateur est déjà aller sur le site, ton code ne marche pas dutout, t'as essayé au moins ?
avec htaccess
la page test.php contient le code que tu veux lancer via ton site, et la page /private/index.php ne contient rienCode:
1
2
3
4 SetEnv PHP_VER 5 RewriteEngine on RewriteRule (test)(.php)$ /private/index.php [QSA,L]
sur la page du site
Code:require_once ("test.php");
Ce n'est pas ce que j'ai compris. Le but c'est que la page ne s'ouvre pas si on tape directement l'url. Donc, elle s'ouvre si elle est appelé par une page du site. Peut être ai je mal compris.Citation:
le but c'est que la page ne s'ouvre que si l'utilisateur est déjà aller sur le site
Non, je ne l'avais pas testé. C'était juste pour l'idée ...Citation:
ton code ne marche pas dutout, t'as essayé au moins ?
Voilà un beau code fonctionnel :
Donc, dans l'hypotèse que je viens d'énnoncer (s'affiche seulement si appelée par une page du site), là ça commence à le faire non ?Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <?php $path_parts = pathinfo($_SERVER['HTTP_REFERER']); $chaine_aleatoire = time(); if ( isset($_SERVER['HTTP_REFERER']) and $path_parts['dirname'].$chaine_aleatoire == "http://localhost/tests/path_info".$chaine_aleatoire) { echo 'HTTP_REFERER : '.$_SERVER['HTTP_REFERER'].'<br>'; echo 'Répertoire : '.$path_parts['dirname'].$chaine_aleatoire.'<br>'; echo 'Réussi<br>'; } else { echo 'HTTP_REFERER : '.$_SERVER['HTTP_REFERER'].'<br>'; echo 'Répertoire : '.$path_parts['dirname'].$chaine_aleatoire.'<br>'; echo 'Loupé<br>'; } ?> <a href="index.php">Retour</a>
mais uniquement si le navigateur envoie le pathinfo
vérifie les variable y'a des erreurs
Code:
1
2
3
4
5
6
7
8
9 Notice: Undefined index: HTTP_REFERER in D:\www\test\index.php on line 4 Notice: Undefined index: HTTP_REFERER in D:\www\test\index.php on line 14 HTTP_REFERER : Notice: Undefined index: dirname in D:\www\test\index.php on line 15 Répertoire : 1336033114 Loupé Retour
Merci te ta patiente et de tes explications.
Pas chez moi :ccool:Code:vérifie les variable y'a des erreurs
C'est à dire que comme pour le referer il est possible que le navigateur n'envoie pas le pathinfo ?Code:mais uniquement si le navigateur envoie le pathinfo
Comment fais tu ?
Ok, j'ai pigé !
N’empêche que chez moi je n'ai pas d'erreur ...
Cela dépend de la config php ...
Encore merci de tes lumières...Code:
1
2
3
4HTTP_REFERER : Répertoire : 1336053391 Loupé Retour
Juste une dernière chose, à t'écouter, rien n'est vraiment fiable. Même les sessions. Tu as raison.
Ma question était donc :
Parmi les options (pas forcement 100 % fiables), qu'elle est la plus dure à contourner ?
sans contrôle de l'utilisateur aucun, le meilleur moyen de sécuriser quelque chose c'est de mettre un mot de passe
Je n'ai pas été assez précis dans ma question.
Dans mon cas, il s'agit d'un appelle ajax ....
Donc, mot de passe impossible !
mot de passe = session
donc si l'utilisateur est authentifié la session est présente aussi en ajax
EDIT tu peux en plus controller que l’appelle soit faire en AJAX (mais toujours modifiable) avec HTTP_X_REQUESTED_WITH
La plupart de mes pages faisant des appels ajax sont des pages publics.
Elles ne nécessitent donc pas d'authentification ....
Pour HTTP_X_REQUESTED_WITH, je vais regarder ça car je ne connais pas ...