PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 MySQL, PostgreSQL, etc... » Utiliser des INT ou des VARCHAR dans une table associative ? » 09-06-2015 13:59:14

pascalpa
Réponses : 2

Bonjour,

Je vais poser une question sans doute bête et naïve neutral, mais je n’ai pas trouvé de réponse claire (et je débute, merci d’être indulgent !).

Admettons que j’aie 2 tables :
Termes (id_terme, terme)
Synonymes (id_syn, synonyme)

Les champs id_terme et id_syn sont des INT.
Les champs terme et synonyme sont des VARCHAR.

Etant donné qu’il y a une relation n,n entre les 2 tables, je vais créer une table associative faisant correspondre les ID des 2 tables : Assoc(id_terme, id_syn)

Jusque là OK. Et là, tout à coup, je me dis : mais après tout, qu’est-ce qui m’empêche de créer une table associative contenant les termes et les synonymes ? Ce sera peut-être moins performant (un peu moins ou beaucoup moins… telle est la question !), mais en cas de problème, j’y verrais plus clair. Ca donnerait ça : Assoc(terme, synonyme)

Est-ce que c’est vraiment une solution à proscrire absolument (en termes de performances) ou pas forcément ?

Merci pour vos réponses.
Pascal

#2 Re : Forum Général PHP » Restreindre l’accès à un site: SSO, filtrage par REFERER, autres ?... » 20-02-2014 18:06:06

Merci pour ta réponse et désolé d'y répondre si tardivement !

Le problème est que mes deux sites n'auront pas la même BDD et que je ne peux rien modifier sur le site d'origine sans faire appel au prestataire. :-( C'est pourquoi je pensais à un truc vraiment basique (basé sur un id, voire sur le referer). Cela dit, l'idée de la table de token statique me paraît pas mal... je retiens, merci !

#3 Forum Général PHP » Restreindre l’accès à un site: SSO, filtrage par REFERER, autres ?... » 20-02-2014 18:06:06

pascalpa
Réponses : 3

Bonjour tout le monde,

En quelques mots : Je souhaiterais faire en sorte qu’un site ne soit accessible que depuis un lien figurant sur un autre site (sur une page sécurisée), et qu'il ne soit pas visible (ou du moins, qu’il soit difficile à trouver…) par un internaute "lambda". J’aimerais connaître les différentes approches envisageables pour arriver à ce résultat. Je précise que je suis débutant en développement web et PHP.

Voici les caractéristiques des 2 sites :

a) Le site A est un site institutionnel. Il a été développé en ASP.NET et est hébergé chez un prestataire, sous Windows/IIS. Il s'agit d'un système propriétaire, sur lequel nous n'avons que partiellement la main.

b) Le site B (celui que j’ai prévu de créer) est un mini-site consistant en un dictionnaire scientifique spécialisé. Il sera hébergé sur un autre serveur (peut-être en local) et sera associé à un sous-domaine. J'ai déjà pas mal travaillé sur les données, j'ai créé la base MySQL et j'ai fait une première ébauche d'interface de recherche. Le projet me paraît assez facile, à un détail près…

Voici le problème :

Je pensais pouvoir mettre ce site B en accès libre (ou au pire, mettre en place un système d'inscription et d'authentification distinct de celui du site A) mais mon directeur voit les choses autrement : il souhaite que le site B ne soit accessible qu’aux utilisateurs authentifiés sur le site A (via un lien sur une page sécurisée) et que ces utilisateurs n'aient pas à s'authentifier une 2e fois sur le site B. En même temps, il reconnaît que l'accès au site B n'a pas besoin d'être très sécurisé. En fait, il veut simplement qu'un internaute "lambda" ne puisse pas y accéder facilement (ni évidemment, tomber dessus via Google), mais il ne jugerait pas très grave qu'une minorité de gens arrive à contourner le système.

En résumé : il doit y avoir une porte pour dissuader la "masse" des gens d'entrer, mais si la porte n'est pas fermée à clé, ce n'est pas très grave.

Voici mes questions :

Compte tenu de ces demandes, j'imagine plusieurs possibilités :

a) Mise en place d'un SSO entre les 2 sites : je ne me rends pas compte de la faisabilité et de la complexité de ce genre de développement. Savez-vous ce que ce que ça impliquerait techniquement de mon côté (site B) et éventuellement du côté du prestataire (site A) ?

b) "Camouflage" du site B via diverses techniques : je pense que cela pourrait largement suffire (car on n'a pas besoin d'un niveau de sécurité élevé), mais je ne sais pas dans quelle mesure c’est faisable. Dans la configuration des htaccess, j'ai lu qu'il était possible de mettre en place un filtrage par REFERER, de façon à n'autoriser que les visiteurs en provenance du site A : est-ce une bonne solution ? Je m'interroge aussi sur la possibilité de faire en sorte que le site B soit associé à une URL complexe, difficile à deviner par une personne lambda, mais je ne sais pas si c'est réalisable… 

Voilà. Savez-vous si ces solutions sont réalistes, si elles sont faciles à mettre en œuvre, ce qu'elles impliquent comme difficultés, etc. ? Sinon, existe-t-il d'autres solutions ?

Un grand merci d'avance à celles et ceux qui pourront m'éclairer !

Pascal

Pied de page des forums

Propulsé par FluxBB