Dans mes recherches, j'ai trouvé une question concernant le déploiement d'une application PHP en ligne tout en laissant son dossier ".hg" ou des dossiers ".svn" en place sur le serveur de production. Malheureusement, je n'ai pas pu trouver une explication claire sur la raison pour laquelle il s'agit d'une préoccupation. Je voudrais mieux comprendre ce risque de sécurité. p>
Il me semble que vous ne voulez pas que ces dossiers sont visibles plus que ce que vous souhaitez que le contenu des fichiers PHP affichés. La solution ne serait-elle pas de configurer le serveur Web pour ne pas servir le répertoire ".hg"? Le problème de sécurité est-il fonctionne plus profond que cela? Je ne sais vraiment pas. Votre aide à cela est grandement appréciée! P>
Si cela est utile, la raison pour laquelle je veux garder le contrôle de la version sur le référentiel de production du serveur est la suivante: p>
hg st code>) li>
ul>
Les alternatives sont les bienvenues. P>
merci! p>
3 Réponses :
En effet, si on pouvait s'appuyer sur ne pas servir le sur un processus de libération étroitement contrôlé, je trouve plus facile à sur les serveurs de développement, tout est déjà filtré sur (VPN-) IPS ou certificats, donc là-bas, j'utilise une caisse avec "la dernière version du coffre" la plus récente "avec la version Control DIRS sans aucun problème. P>
em> Mercurial et Subversion Gardez des données sur les données dans un seul .HG / .SVN DIR dans le niveau supérieur. Comme on peut normalement effectuer une caisse dans laquelle la plupart des fichiers sont dehors em> la racine de document (et la racine du document est probablement un sous-répertoire plus bas), c'est fine em>. Assurez-vous simplement que vos répertoires de contrôle de version sont pas em> dans un dossier accessible pour le serveur Web à l'intérieur de la racine du document et que vous pouvez garder les commandes plutôt qu'exporte là-bas sans beaucoup de problèmes. P> .svn code> /
.hg code> par défaut, ce ne serait pas un problème. Comme c'est le cas, quelqu'un (Newbee / Nouveau Développer / expérimenté sur une mauvaise journée) fait un petit changement qui détruit ces paramètres et «rien ne va pas» ne remarque pas que la protection est partie. Voilà, votre code source ouvert au monde, avec éventuellement des mots de passe et des secrets éventuels. Ce n'est pas que quelque chose va mal avec les réglages appropriés, c'est qu'avec un mineur, facilement brillant sur une altération, ils pourraient se tromper, alors pourquoi ne pas la jouer en sécurité? P>
Exporter code> certaines branches / balises sur certains dossiers et un commutateur vers une branche / une étiquette plus récente qui a survécu à tester consiste simplement à changer la racine du document. à partir de
/ chemin / projet / libération-123 code> à
/ chemin / projet / libération-124 code> (le rendant tout aussi facile, peut-être encore plus rapide, de revenir à
Release-123 Code> Que le besoin soit là). Si vous avez un processus de publication avec plus d'un flux de petits changements et de bugsfixes, travailler avec les exportations peut en effet être une douleur, mais la sécurité supplémentaire en vaut la peine à mon avis. P>
Autre du risque des fichiers DIFF est accidentellement servi au client, je ne vois aucune autre préoccupation de sécurité. P>
Vous envisagez de restreindre l'accès à .svn, .hg ou autre. Le fait que vous ayez ces dossiers là-bas, vous obtiendrez de vous avoir à respecter constamment la restriction à ceux-ci, ce qui est risqué. Les erreurs humaines se produisent. P>
Cordialement, Alin P>
Je suis un fan d'avoir mon document de documentation être un clone de mon référentiel mercurial. En effet, vous pouvez même configurer ce repo à mettre à jour automatiquement sur la poussée à l'aide d'un crochet comme celui-ci: ce qui signifie que vous pouvez hg poussant code> au repo sur votre serveur Et vous obtiendrez la commande du site mis à jour automatiquement. Toutes quelques personnes font ça. P> P>
Cela semble intéressant, même si cela ne répond pas vraiment à la question.
Ce n'était pas vraiment une question. Il a dit pourquoi pas, et j'ai dit juste le faire.
Avec la même méthode, vous pouvez utiliser un crochet de groupe de changements d'archive HG (export).
Tonne absolument vrai. La mise à jour présente l'avantage de ne pas recouvrir de fichiers qui n'ont pas changé, mais l'archive vous garantit une caisse propre.