Bonjour à tous,
Tout d'abord, j'ai bien lu tout ça, mais il doit bien me manquer quelques bases...
J'ai un site en PHP que j'ai fait avec DAlbum et auquel on accède par une page de login. L'adresse du site est du type www.example.com.
J'ai un forum PunBB, également en PHP, auquel on peut accéder par un lien placé sur le site. L'adresse du forum est du type www.example.com/forum/index.php
Ce site et ce forum sont à usage strictement privé puisque pour un groupe famille-amis qui sont un peu éparpillés partout dans le monde.
Ce que je cherche à faire, c'est de ne pouvoir accéder au forum que si l'on passe préalablement par le site. Je ne veux pas que l'on puisse accéder au forum plus ou moins directement et que l'on s'y inscrive.
Je souhaiterais que ce ne soit qu'après être passé par le site, que l'on puisse s'inscrire sur le forum.
Autrement dit, je souhaiterais qu'on ne puisse même pas s'enregistrer sur le forum, si l'on a pas préalablement été invité sur le site.
En revanche, après être passé par le site et s'être loggé au forum, il faudrait que l'utilisateur ne soit pas gêné de quelques manières que ce soit (le forum utilise les cookies permettant de reconnaître l'utilisateur). Or il ya un petit (?) problème.
J'ai une solution quasi-parfaite avec .htaccess et le Referer (voir le code ci-dessous), mais il y a juste un petit point qui bloque.
En effet, quand j'ai une redirection interne et automatique après le login ou l'envoi d'un message, bref dès qu'il y a (si mon interprétation est la bonne) une URL qui contient php?, alors c'est comme si le Referer n'était pas reconnu.
Donc pour l'instant j'essaye d'apprendre comment faire en sorte que TOUTES les URL contenant le terme monsite.com soient reconnues comme telles. Même s'il y a crac-boum-hue écrit devant ou crac-boum-hue écrit derriere...
Pour l'instant il y a ça écrit dans mon .htaccess
Et ça marche bien : tout ce qui ne vient pas de www.monsite.com est effectivement rejeté (Erreur 403) quand on essaye par exemple, avec www.example.com/forum/register.php ou www.example.com/forum/login.php ou bien encore www.example.com/forum/index.php.
Alors, en fait le plus simple pour moi serait juste de compléter ce code pour atteindre le but décrit ci-dessus.
Bien sûr, si c'était possible, j'aimerais bien parvenir à mes fins sans avoir à refaire tout le site et le forum :?
Si c'est possible, je suis preneur
Merci beaucoup, déjà, d'avoir lu tout ça et pour votre aide, si vous pouvez...
Lim
PS : Au fait, j'espère que j'ai posté dans le bon forum... :?
Edit HawkEye: example.com svp
Tout d'abord, j'ai bien lu tout ça, mais il doit bien me manquer quelques bases...
J'ai un site en PHP que j'ai fait avec DAlbum et auquel on accède par une page de login. L'adresse du site est du type www.example.com.
J'ai un forum PunBB, également en PHP, auquel on peut accéder par un lien placé sur le site. L'adresse du forum est du type www.example.com/forum/index.php
Ce site et ce forum sont à usage strictement privé puisque pour un groupe famille-amis qui sont un peu éparpillés partout dans le monde.
Ce que je cherche à faire, c'est de ne pouvoir accéder au forum que si l'on passe préalablement par le site. Je ne veux pas que l'on puisse accéder au forum plus ou moins directement et que l'on s'y inscrive.
Je souhaiterais que ce ne soit qu'après être passé par le site, que l'on puisse s'inscrire sur le forum.
Autrement dit, je souhaiterais qu'on ne puisse même pas s'enregistrer sur le forum, si l'on a pas préalablement été invité sur le site.
En revanche, après être passé par le site et s'être loggé au forum, il faudrait que l'utilisateur ne soit pas gêné de quelques manières que ce soit (le forum utilise les cookies permettant de reconnaître l'utilisateur). Or il ya un petit (?) problème.
J'ai une solution quasi-parfaite avec .htaccess et le Referer (voir le code ci-dessous), mais il y a juste un petit point qui bloque.
En effet, quand j'ai une redirection interne et automatique après le login ou l'envoi d'un message, bref dès qu'il y a (si mon interprétation est la bonne) une URL qui contient php?, alors c'est comme si le Referer n'était pas reconnu.
Donc pour l'instant j'essaye d'apprendre comment faire en sorte que TOUTES les URL contenant le terme monsite.com soient reconnues comme telles. Même s'il y a crac-boum-hue écrit devant ou crac-boum-hue écrit derriere...
Pour l'instant il y a ça écrit dans mon .htaccess
Code:
SetEnvIfNoCase Referer "^http://www.monsite.com/" local_ref=1
Order deny,allow
deny from all
allow from env=local_ref
Et ça marche bien : tout ce qui ne vient pas de www.monsite.com est effectivement rejeté (Erreur 403) quand on essaye par exemple, avec www.example.com/forum/register.php ou www.example.com/forum/login.php ou bien encore www.example.com/forum/index.php.
Alors, en fait le plus simple pour moi serait juste de compléter ce code pour atteindre le but décrit ci-dessus.
Bien sûr, si c'était possible, j'aimerais bien parvenir à mes fins sans avoir à refaire tout le site et le forum :?
Si c'est possible, je suis preneur
Merci beaucoup, déjà, d'avoir lu tout ça et pour votre aide, si vous pouvez...
Lim
PS : Au fait, j'espère que j'ai posté dans le bon forum... :?
Edit HawkEye: example.com svp