Autorisation avec facebook connect

Edelweissfr
Invité n'ayant pas de compte PHPfrance

15 avr. 2010, 19:18

Bonsoir à tous,
Je suis en train de créer un nouveau site et je m'intéresse à la solution facebook connect.
je voudrais faire en sorte que seuls mes amis facebook puissent accéder à certaines parties du site.
par exemple je mets le bouton connect facebook, il rentre son login et mdp facebook et il est connecté, si c'est un ami il peut aller voir les photos, sinon un message lui dit qu'il ne peut pas.
est ce possible ? et si oui quelqu'un peut me donner le bout de code qui irait ? (je suis pas bon mais je peux intégrer le code normalement)
du moins surtout le code concernant l'autorisation et le login ? je ne sais vraiment pas comment ca marche ca.
j'ai créé l'application facebook, et récupéré le .tar.gz
merci beaucoup d'avance !
Edelweiss

Edelweissfr
Invité n'ayant pas de compte PHPfrance

15 avr. 2010, 20:25

J'ai trouvé ce tuto qui m'a l'air pas mal,
http://www.pakt.com/pakt/?id=5e17b48f5679ab47
mais ca serait vers l'étape 8 qu'il me faudrait ce bout de code qui ne permette qu'à mes amis d'accéder à une page ?
sinon ca devrait marcher avec ce tuto non ?
Cdt

Edelweissfr
Invité n'ayant pas de compte PHPfrance

15 avr. 2010, 20:51

une dernière chose aussi, pour avoir qu'une personne qui puisse accéder à une page, genre filtrer avec le nom. par exemple lorsque je suis connecté, il n'y a que moi qui puisse aller sur une page ?

ViPHP
AB
ViPHP | 5818 Messages

16 avr. 2010, 00:43

C'est pas une solution pérenne cette histoire. Si tu as un ami qui n'a pas envie d'être sur facebook, tu fais comment ?

Et de toutes façons si quelqu'un connait l'adresse de ton site, avec ou sans la connexion facebook, il pourra voir tes photos si elles sont dans un répertoire non protégé de ton site.

Si tu veux être autonome, il y a un script d'inscription et de connexion dans un espace membres ici

Pour le reste tu n'es pas à la bonne adresse car les développeurs php détestent au plus au point être dépendants de tel ou tel autre site pour faire fonctionner le leur (qui plus est pour des parties sensibles). C'est vraiment tout le contraire de notre façon de penser, ici on est dans le domaine du LIBRE et donc ne t'étonnes pas du peu de réponses :wink:

Edelweissfr
Invité n'ayant pas de compte PHPfrance

16 avr. 2010, 01:27

J'ai déjà un script d'inscription sur un de mes autres sites, mais justement dans ce cas la je voulais juste que ce soient ceux qui sont sur facebook qui voient ces photos.
Pour le fait de voir ou non les photos dans un répertoire cela peut marcher de la même façon qu'avec un script de connexion, ça serait juste la "base de donnée" qui changerait?
Qui plus est, je ne suis pas d'accord avec cette soit dis en dépendance, puisque grosso modo je vais chercher juste les infos d'authentification ailleurs que sur ma propre base de donnée... le code reste personnel.. je ne vois pas le rapport avec du libre ou non, et de toute façon ce n'est pas la question ici...
je ne vais pas débattre sur mes propres motivations ici, je cherche juste un bout de code, si quelqu'un veut bien m'aider je lui en serais reconnaissant sinon merci quand même.
(je serais aussi preneur d'un tuto/idée de comment on fait pour protéger le répertoire dans ce cas là, car d'habitude j'utilise des scripts tout fait mais ne sais pas comment ça marche fondamentalement)

ViPHP
AB
ViPHP | 5818 Messages

16 avr. 2010, 15:54

Pour protéger des photos dans un répertoire une solution est de mettre un fichier .htaccess dans ce même répertoire avec la mention deny from all.
Ainsi on ne pourra pas avoir accès à l'image en rentrant simplement sont adresse.

Pour afficher l'image on passera donc par php avec un code qui sera protégée par authentification.

Par exemple un script php que l'on nomme affiche_img.php et qui sera appelé par la page d'affichage des photos :
<?php
// Code de protection
if(!isset($_SESSION['login'])) exit('message');

$img = isset($_GET['img'])? $_GET['img'] :'';
header("Content-Type: image/jpeg");
readfile("$img");
?>
Bien entendu il faudrait vérifier les variables $_GET

Code de la page d'affichage des images qui fait appel à affiche_img.php. (Le répertoire photo doit être protégé par le fichier .htaccess)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>

<body>
<div>
<img src="affiche_img.php?img=PHOTO/photo1.jpg" />
</div>
</body>
</html>