2009-10-01 9 views
0

Je suis en train de mettre en place un site web pour les élèves d'une école, qui doit inclure une page de calendrier qui montrera un calendrier avec des événements peuplés par des flux de différents calendriers des enseignants. Après avoir essayé une variété de scripts et d'outils conçus pour afficher des calendriers, j'ai finalement trouvé une façon de le faire, et je veux savoir s'il y a des problèmes spécifiques avec ma mise en œuvre.Y a-t-il quelque chose qui ne va pas dans la façon dont j'implémente un calendrier sur mon site?

Mes exigences de ce calendrier sont publiées dans un précédent question Voici comment ma mise en œuvre va marcher:

Les enseignants font leurs horaires dans leurs propres programmes de calendrier et de mettre ces aliments disponibles dans le format iCal. Un compte Google commun pour l'école est souscrit à tous ces calendriers, et obtient ainsi un accès en lecture seule à TOUS les horaires de l'enseignant à l'école. Google Agenda propose une fonctionnalité qui vous permet de sélectionner certains de vos agendas, puis d'obtenir le code html d'un iframe à intégrer sur votre site Web afin que les visiteurs du site puissent voir les événements à venir. Quand j'ai expérimenté avec les options dans le configurateur de Google, j'ai trouvé qu'en incluant simplement certains codes dans l'URL appelée pour le contenu iframe, vous pouviez changer les calendriers qui étaient visibles. Ces codes ou les identifiants de calendrier sont clairement affichés dans les paramètres de chaque calendrier. Ainsi, ma solution finale est la suivante:

Pour chaque étudiant, il y a un enregistrement indiquant quels cours il a pris, et donc quels calendriers il devrait être montré. Avec un peu de magie SQL, je peux récupérer les ID de calendrier à partir d'une base de données pré-préparée de tous les ID de calendrier, puis générer l'URL correcte pour l'iframe en utilisant php, et l'afficher. J'espère que ce n'était pas trop alambiqué pour comprendre. Maintenant, quelqu'un peut-il me dire s'il y a des failles de sécurité inhérentes ou de mauvaises pratiques de programmation, etc. Quelque chose à propos de l'idée de générer dynamiquement des urls, en utilisant des iframes, en utilisant un compte google commun, etc crie juste "Mistake!". Est-ce que quelqu'un peut me dire si c'est une bonne façon de procéder, ou y a-t-il un problème?

Répondre

1

En fait, je pense que votre solution a le potentiel d'être très sécurisée. L'utilisation d'un compte Google unique pour collecter les calendriers en lecture seule au même endroit n'est qu'un raccourci organisationnel. Tant que les calendriers eux-mêmes sont en lecture seule, votre compte unique ne contient rien qui n'est pas déjà public.

La génération d'URL est parfaitement raisonnable, du moment que vous combinez des chaînes préalablement nettoyées. Étant donné que votre base de données ne peut obtenir que les ID d'agenda de votre compte google d'agrégation, vous savez que les utilisateurs potentiellement malveillants ne peuvent pas entraîner l'apparition de caractères arbitraires dans vos URL synthétisées.

Le plus gros problème que vous rencontrerez probablement est que l'iframe du calendrier incorporé de google n'autorise que jusqu'à dix flux de calendrier.

La vulnérabilité de sécurité la plus probable à laquelle vous serez confronté est la sécurité de tous les calendriers google des enseignants.

Par défaut, les calendriers Google acceptent les "invitations" et les affichent en tant qu'événements. Vous pourriez constater que n'importe qui peut "inviter" le calendrier d'un enseignant à des événements blague et ces événements farce apparaîtront sur les calendriers des étudiants.

+0

Ok Je vais garder ces invitations en tête, et je l'espère désactiver de manière satisfaisante. Cependant, merci d'avoir mis en place le flux 10, je ne le savais pas, et il ne semble pas être mentionné nulle part dans leur documentation. Cependant j'ai essayé de faire 12 calendriers, et cela ne m'a causé aucune erreur, donc je vais devoir regarder plus loin. Je suis surpris qu'il n'y ait pas de calendrier qui puisse gérer les calendriers de groupes publics et être joli. – Neil

+0

Oui, j'étais également surpris. Je fais quelque chose de très similaire à vous pour une patinoire. –

+0

Salut Peter. Plus tard, j'ai abandonné ce projet, je viens de revenir à cette question. Vous avez eu l'idée de me dire comment votre projet s'est déroulé, et peut-être de m'y associer? – Neil

Questions connexes