Qu'est ce que tu veux dire par :
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 rien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SetEnv PHP_VER 5 RewriteEngine on RewriteRule (test)(.php)$ /private/index.php [QSA,L]
sur la page du site
Code : Sélectionner tout - Visualiser dans une fenêtre à part require_once ("test.php");
Conception / Dev
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.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 ...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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part 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 : Sélectionner tout - Visualiser dans une fenêtre à part 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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager