Htaccess pour sécu API Facebook ?? [Résolu]

- - Dernière réponse : cs_stay
Messages postés
496
Date d'inscription
jeudi 7 juillet 2005
Statut
Membre
Dernière intervention
24 mai 2017
- 28 janv. 2013 à 17:15
Hmmm bonjour camarades,

En gros voici mon cas mon cas j'ai une API Facebook (récente donc post new réglementation) stockée chez Heroku (serveur distant partenaire de Facebook) et comme je dois me connecter à une BDD distante hébergée chez OVH j'ai lu qu'il valait mieux mettre les login dans un htaccess pour sécuriser le bordel. Hmmm pourquoi pas mais dans mon cas l'utilisateur (internaute sur Facebook) accède à l'appli en acceptant j'imagine les cookies entre autres et l'utilisateur n'a pas à entrer un login pour voir les données inhérentes à ma base de données, puisque c'est l'API qui se connecte seule à la base via ce login et ce password phpmyadmin présent dans mon code pour le moment en dur.

Du coup voulant juste sécuriser un peu les login de la base je me demande si un htaccess est bien approprié à mes besoins. Je sais pas si je me suis bien exprimé :D, je suis développeur en formation ;).

Thx d'avance.
Afficher la suite 

9 réponses

Meilleure réponse
Messages postés
496
Date d'inscription
jeudi 7 juillet 2005
Statut
Membre
Dernière intervention
24 mai 2017
2
3
Merci
Donc, c'est Apache qui gère ce fichier.
Avec un htaccess, tu peux limiter des accès et paramétrer le serveur pour d'autres utilisations.
Il est possible avec un htaccess gérer une hiérarchie de dossiers plus logique en rapport avec l'application créé.
Il y a énormément de configurations possibles. Comme par exemple, la simplification des chemins ou URL.

Exemple :
RewriteRule ^css/(.*)$ /client/themes/mon-theme/public/css/$1 [L]
RewriteRule ^pictures/(.*)$ /client/themes/mon-theme/public/media/pictures/$1 [L]

----
Donc ici, si je veux faire appel à mon fichier CSS, je fais ceci :
<link rel="stylesheet" href="http://mon-site.com/css/styles.css" type="text/css" media="all" />


Pour une image directement dans l'HTML :



---------
Donc, une fois conscient de la puissance qu'offres l'htaccess, tu exploites tous ce qu'il peut offrir.

Voici la ligne de code pour bloquer un dossier :
deny from all


Donc, si tu décides de travailler avec un htaccess, tu travailleras plus rapidement.
Mais bon, comme je disais plus haut, c'est une préférence.
Pour moi, c'est suffisamment sécurisé.

Voici un exemple avec un fichier XML :
<?xml version="1.0" encoding= "UTF-8"?>
Configuration:&nbsp;
    
<webhost>http://mon-site.com</webhost>
<theme>theme-1</theme>
 	<database>
    pdo_mysql
    
    	        <host>PDO_MYSQL</host>
                 bla-bla 
                1234


                <dbname>bla_bla</dbname>
                PDO_MYSQL
    


</database>
    


    <development extends ="production">
        <webhost>http://dev-mon-site.com</webhost>
        <theme>theme-1</theme>
        <database>
            PDO_MYSQL
            
                <host>PDO_MYSQL</host>
                bla-bla
                4567


                <dbname>bla_bla</dbname>
                PDO_MYSQL
            


        </database>
    </development>
    <localhost extends="production">
        <webhost>http://dev-mon-site.loc</webhost>
        <theme>theme-1</theme>
        <database>
            PDO_MYSQL
            
                <host>localhost</host>
                root
                


                <dbname>bla_bla</dbname>
                PDO_MYSQL
            


        </database>
    </localhost>



Tu remarqueras que je suis très bon (dans le sans offrir) :)
Donc, ici je n'ai plus besoin d'expliquer à mon programme si je suis en local, en prod ou sur le dev.
En PHP, tu crées des constantes qui récupères les accès.
Et avec un htaccess, tu prives le client de visualiser le fichier via le port 80 (http).
A toi de trouver les solutions pour mettre tous cela en dev.
Mais je t'avoue qu'ici, on ce rapproche plus de la configuration professionnel avec un Framework.

stéph

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 133 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_stay
Messages postés
496
Date d'inscription
jeudi 7 juillet 2005
Statut
Membre
Dernière intervention
24 mai 2017
2
0
Merci
Salut, je ne comprend pas ceci en liaison avec ton problème :

" l'utilisateur (internaute sur Facebook) accède à l'appli en acceptant j'imagine les cookies ".

-------------

Si tu as une api qui utilise une page PHP, donc, qui peux exécuter un script ou bien tu as accès à un htaccess pour insérer les accès. Pourquoi tu te soucis de la sécurité est des accès du client (internaute) ?
Tu fais ce que tu veux, t'en que cela fonctionne.

stéph
Commenter la réponse de cs_stay
0
Merci
Ca pourrait être mieux expliqué j'en convient xD.

En fait ce que j'entends par là c'est que l'utilisateur accède à mon appli en acceptant les conditions via une fenêtre qui s'ouvre quand il clique sur l'appli pour l'ouvrir, comme toute API Face la première fois disons, vous l'avez remarqué, et cela concerne les cookies par exemple entre autre.

Donc je ne veux PAS que l'utilisateur doive valider une seconde fois quelque connexion que se soit. En gros je veux pas que le fait que mon API se connecte à une base de données de manière sécurisée interfère en quoi que se soit avec sa navigation. Je veux juste que mes login au lieu d'être stocké simplement dans un .php le soit de façon plus blindée. Ais-je éclairci la chose ??
Commenter la réponse de Keizone
Messages postés
496
Date d'inscription
jeudi 7 juillet 2005
Statut
Membre
Dernière intervention
24 mai 2017
2
0
Merci
Oui, bien-sûr.

Mais, la navigation n'a rien avoir avec les accès perso du serveur. Donc, le client est hors sujet.
Si tu veux sécurisé les accès de ton serveur MySQL.
Tu insères les accès dans un fichier de type XML ou autre et par la suite, tu sécurises le dossier ou il se trouve avec un htaccess.
Dans le PHP, tu retournes des constantes pour la connexion.

stéph
Commenter la réponse de cs_stay
0
Merci
Hmmm je comprend, mais pourrais je avoir une réponse plus ... technique ^^ étant débutant je cherche justement comment faire.

Donc si je comprend bien :
1- Créer un htaccess, comment ?
Pourquoi c'est sécurisé un htaccess, ca fait un genre de semi cryptage ?
2- Mettre mes identifiants dedans ? Il remplace donc mon fichier security.php ?
3- Faire un include dans mon index qui fera appel à mon htaccess ?
Commenter la réponse de Keizone
0
Merci
Hmmm... hmmm ^^.(se concentre fortement)

Faut que je gamberge un peu pour comprendre ton post ^^, que je trouve généreux en effet ;).

Donc dans le fonctionnement ca marche comment ? Quand tu veux accéder à on appli on te demande un login et un mdp qui te feront directement arriver au stade de développement correspondant ?
Commenter la réponse de Keizone
Messages postés
496
Date d'inscription
jeudi 7 juillet 2005
Statut
Membre
Dernière intervention
24 mai 2017
2
0
Merci
Au plus simple, les accès sont ceux de la DB.

Si tu désires que le client s’identifie, tu peux également le faire avec un .htaccess suivi d'un .htpasswd dans le dossier root de ton application.
Mais cela n'a rien à voir avec les accès à la db.

Par la suite, tu crées un dossier config, et tu crées le fichier database.xml à l’intérieur.
Par la suite, dans le même dossier, tu crées un fichier .htaccess avec une ligne de code.
deny from all

Par la suite, tu récupères les accès en PHP.
Dans une class PHP, tu récupères les données de la db avec un SELECT.
Les données seront disponibles dans ton api.

Tu dois visualiser étape par étape les possibilités vue qu'ici, l'api de Facebook est utilisée.
Mais c'est très simple, car j'imagine que ton application est déjà fonctionnelle.
Il y a uniquement la disponibilité des accès à la db à réécrire.
Si j'ai bien compris :)

stéph
Commenter la réponse de cs_stay
0
Merci
Voui je comprend bien qu'il faut dissocier la connexion à une appli via des identifiants (ce dont tu me parles, et qui est intéressant) et la connexion à une BDD, ce qui me concerne et ce que je cherche à protéger pour éviter les petits pirates.

Hmmm pour le moment je n'ai pas réussit à connecter mon API à ma base de donnée distante (OVH) donc non elle est hors ligne l'appli donc non disponible ;). Je suis en train de m'acharner dessus depuis quelques jours ^^. Je pense que le tuto que j'ai choisit se connecte à une BDD locale, un truc dans ce goût.
Commenter la réponse de Keizone
Messages postés
496
Date d'inscription
jeudi 7 juillet 2005
Statut
Membre
Dernière intervention
24 mai 2017
2
0
Merci
Tu peux retrouver la méthode que j'utilise ici, il n'y a pas plus de trois lignes de code.
Mais, tu dois coupler la librairie à ton application.

stéph
Commenter la réponse de cs_stay