refuser accès au site aux utilisateurs qui entrent url dans le navigateur

Nouveau WRInaute
Bonjour à tous!

J'ai fais une recherche sur le forum, mais ma situation ne correspond pas à ce que je souhaiterai faire.
J'ai un site sous joomla. Grâce au module wrapper, les utilisateurs peuvent accéder au wiki de l'entreprise en cliquant sur un lien dans le menu. C'est en faite une iframe qui apparaît.

Ces utilisateurs sont enregistrés avant.

C'est pourquoi je voudrai savoir si il est possible avec le .htaccess d'empêcher les internautes d'accéder au site en entrant l'URL d'accés au wiki. Ainsi, il pourrait y accéder qu'en passant par joomla.
Je pensais faire une redirection vers mon site sous joomla pour leur amener à se connecter mais je ne sais pas comment faire.

Merci à tous pour votre aide.
 
WRInaute impliqué
si tu veux qu'ils n'y accedent que par le lien, tu teste simplement le referer, si celui-ci est ta page ou y a le lien tu accepte sinon tu jette.
 
Nouveau WRInaute
Merci pour vos réponses.

Mais ne m'y connaissant pas, je ne comprends pas vraiment.

"Peut etre un .htpasswd avec ton .htaccess et un script qui crypterai le mot de passe"
-> comment spécifier alors que le mot de passe doit être demandé que lorsque l'internaute essaie d'accéder au site en entrant l'URL?

"si tu veux qu'ils n'y accedent que par le lien, tu teste simplement le referer, si celui-ci est ta page ou y a le lien tu accepte sinon tu jette."
->comment procéder exactement?
 
Nouveau WRInaute
Bonjour,

Merci pour cette exemple, j'ai déjà mis cette mesure de sécurité en place.
Ce que je voudrais c'est que cette règle ne s'applique qu'aux utilisateurs qui y accèdent en entrant l'URL dans le navigateur directement. Et qu'elle ne s'applique pas aux utilisateurs qui y accèdent via Joomla.
Y'a-t-il un moyen de créer une exception?
Par exemple autoriser les entrées à une URL.
 
WRInaute impliqué
Bon si l'url est tapée dans le brouteur c'est qu'il n'y pas de referer vu que le visiteur vient de nul part. ===> tonc tester le http referer si null tu jette si non nul tu continue.
 
WRInaute discret
Salut

Comme l'ont dit les autre, test le referer en PHP et si le referer n'est pas correct, tu le jète.
Mais je suppose que le type pourra naviguer après sur le site, donc c'est plus qu'un test unique, peut être que rajouter une session qui enregistre la personne comme étant correct.

Une autre solution, c'est de passer un paramètre dans l'url, un mot de passe intégré dans le lien depuis ton intranet d'entreprise. Si le mot de passe existe pas, tu les jètes direct, sinon tu leurs colle une session les identifiant comment bienvenu.

Tu peux aussi regarder du côté de l'authentification HTTP en PHP (http://php.net/manual/en/features.http-auth.php)


Exemple basic avec le referer
Code:
<?php
session_start();

$valide_referer = 'http://www.tonsite.com/intranet/page.html';

if(!isset($_SESSION['valide_user']))
    $_SESSION['valide_user'] = false;

if($_SERVER['HTTP_REFERER'] != $valide_referer && !$_SESSION['valide_user'])
{
    exit('accès interdit');
}
elseif($_SERVER['HTTP_REFERER'] == $valide_referer)
{
    $_SESSION['valide_user'] = true;
}
?>

C'est un truc que j'ai écrit sans tester... y'a peut être des bugs hein :)
 
Discussions similaires
N
Réponses
3
Affichages
2K
ninonsclcme
N
Haut