Une solution pour restriction d'accés de site à site

Lucie
Invité n'ayant pas de compte PHPfrance

25 juin 2010, 17:07

Bonsoir :P

Je cale sur un problème que mes maigres connaissances en PHP ne me permettent pas de résoudre. étant plus coutumière en web design et photo
J'ai parcouru les sujets mais j'ai pas trouvé une solution.

Le problème:
Un site A sur lequel il y a un répertoire contenant une page html [ hdr-mode-emploi.html ] ( ca peut être du PHP) avec des conseils d'optimalisation de photos vinicoles et HDR
Un site B* sur lequel il y a ma galerie de photos (avec un CMS de type ELGG que je peaufine) une page en PHP qui comporte un lien vers la page cible du site A.

Je souhaiterai que les visiteurs de la page conseils du site A ne puissent venir qu'après être logés sur le CMS du site B
Qu'on ne puisse donc accéder a ce répertoire qu'après être passé sur le site B

- J'ai essayée la solution HT accès avec un RewriteCond %{HTTP_REFERER}, ca ne l'a pas fait
- La solution cookies, pas plus et elle risque de ne pas fonctionner avec certains visiteurs
- Quand à la solution par session, elle semble prometteuse mais j'ai frôlée la crise de nerf en pure perte sans pouvoir bâtir un truc qui fonctionne.

Un avis autorisé ? Ou mieux la bonne syntaxe ?
* ps: (les deux sites ont la même adresse IP de serveur)

Merci pour votre attention

ViPHP
ViPHP | 1996 Messages

26 juin 2010, 00:14

Les sessions fonctionneront si le visiteur active les cookies en mode lecture seule au minimum.
Ce que tu pourrais faire est de créer un lien spécifique ( avec des variables GET) qui sera créé aléatoirement par le premier site et stocké dans une base de donnée avec l'adresse IP di visteur et le timestamp de génération du lien.
Dès que le visiteur cliquera sur ce lien vers le second site, le second site interroge la base du premier site pour savoir si le lien est encore valide en vérifiant l'adresse IP du visiteur (qui devra être identique) et si le timestamp est relativement proche (genre une minute).
S'il reprend le lien précédemment utilisé, un timestamp trop long ou bien une adresse IP différente bloquera l'accès.
C'est pas fiable à 100% mais c'est une idée.
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Petit nouveau ! | 1 Messages

26 juin 2010, 12:16


C'est une idée qui semble élégante mais bien au delà de mes compétences.

Au départ j'avais pensé que çà fonctionnerai >> Un simple Htaccess dans le répertoire cible avec:

RewriteEngine On
RewriteCond %{request_uri} ^http://(www\.)siteA.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)siteB.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule /* http://www.siteB.com/erreur.html [R,L]

Je pensais pas devoir recourir a des sessions :(
Je vais essayer de plancher sur l'idée, merci