Comment les entreprises cachent-elles les sites Web en cours de développement?

9

Je suis nouveau dans ce domaine et aussi un nouveau développeur PHP de 19 ans qui vient d'être embauché, donc je ne sais pas comment cela fonctionne. De nombreuses entreprises lors du développement de leurs sites Web gardent leurs sites cachés d'être indexés. De quelles manières html5 / css puis le travail php / mysql sont-ils cachés des moteurs de recherche? Si je ne me trompe pas, voici les techniques:

  1. Développement hors ligne: utilisation du stockage local pour le rendu html / css; Je ne sais pas comment PHP / mysql fonctionnerait avec ça.

  2. Utilisation de .htaccess pour empêcher l'accès

  3. Utiliser un VPN pour empêcher l'accès.

ariel
la source
1
La meilleure solution, lorsque cela est possible, est toujours d'avoir un serveur de test complètement identique au serveur de production. Et même dans ce cas, il peut y avoir des surprises inattendues ...
Avio
Si vous voulez faire du développement php local complet, jetez un œil à easyphp.org, c'est un programme d'installation simple qui installera et configurera Apache Web Server, MySQL db et PHP sur votre bureau Windows.
Alan Barber

Réponses:

20

La meilleure pratique consiste à avoir une approximation de la pile de production sur votre machine de développement locale. Cela inclut généralement la base de données, le serveur Web et votre code personnalisé. Faites tout votre développement là-bas. Ne modifiez jamais de code sur un serveur de production.

Lorsque les parties prenantes de votre entreprise sont prêtes à mettre la fonctionnalité en service, envoyez votre code de votre machine locale au serveur de production. Vous pouvez utiliser un serveur de test pour que les parties prenantes internes puissent prévisualiser vos modifications avant de les mettre en ligne.

Vous devez être sûr d'utiliser un système de contrôle de version pour gérer votre code. Git et Mercurial sont des options solides.

Greg
la source
Hé, Greg, y a-t-il un lien vers lequel tu peux me diriger qui me montre comment faire ces choses? tout le codage que je connais est de l'apprendre moi-même et donc la première fois que je travaille dans une entreprise, bien qu'ils aient dit que ce sera un environnement d'apprentissage pour moi et qu'ils sont d'accord avec cela, mais je veux y entrer avec autant de connaissances que possible. J'apprécierais vraiment.
ariel
Ce modèle est appelé "espace de travail privé". Le site informit.com/articles/article.aspx?p=30350 semble avoir un aperçu raisonnable.
Greg
De plus, vous ne trouverez probablement jamais de recette exacte pour votre situation. Vous devez être en mesure d'identifier chacun des sous-systèmes de votre environnement de production et de trouver de l'aide pour les installer sur votre poste de travail local.
greg
Et pendant que vous y êtes, la source contrôle également votre base de données!
HLGEM
Dans l'un de mes travaux précédents, notre processus de génération automatisé a appliqué l'historique complet des migrations de données à un ensemble de données d'or (un sous-ensemble de données de production) en appliquant successivement une séquence de fichiers SQL.
Greg
6

Demander simplement aux araignées de recherche de ne pas indexer votre site est une défense très faible, le cas échéant.

La façon habituelle de procéder est la suivante:

  • Pendant le développement, vous exécutez le code sur une machine de développement qui n'est pas accessible depuis l'extérieur de votre réseau local, ou peut-être même depuis n'importe où, sauf la même machine (localhost). Cela se fait généralement avec un pare-feu, soit au niveau du réseau (un pare-feu LAN réel; si votre entreprise vaut quelque chose, vous en avez un) ou localement (un pare-feu «personnel»). De plus, vous pouvez configurer votre serveur apache local pour accepter uniquement les connexions de localhost (127.0.0.1).
  • La version d'acceptation (c'est-à-dire une version en bac à sable pour le client à essayer et tester) fonctionne sur une machine identique à l'environnement de production (autant que possible - certains détails de configuration devront être différents); vous limitez l'accès de la même manière que vous l'avez fait avec l'environnement de développement, sauf que vous accordez également l'accès au réseau du client. Si cela n'est pas possible (par exemple, parce que le client n'a pas sa propre adresse IP dédiée, ou parce qu'il ne peut pas être dérangé de comprendre de quoi il s'agit), vous pouvez envisager d'ajouter une authentification HTTP et de donner au client un mot de passe; cela peut être fait au niveau du serveur Web (c'est-à-dire Apache), avec une mise en garde: l'authentification HTTP passe par le câble non chiffrée, donc si la version d'acceptation contient quelque chose de confidentiel à distance,

Quant à la façon dont vous souhaitez définir ces choses: Si vous utilisez une distribution nix décente *, il est livré avec un gestionnaire de paquets ( apt, port-install, rpm, etc.); utilisez-le pour installer les composants dont vous avez besoin et lisez la documentation. Demandez de l'aide à un administrateur système si vous ne pouvez pas le découvrir vous-même.

tdammers
la source
4

Pour les robots d'exploration polis (c'est-à-dire n'importe quel moteur de recherche majeur), vous pouvez proposer un /robots.txtfichier avec:

Agent utilisateur: *
Interdire: /

Bien sûr, ce n'est qu'un conseil et n'empêchera pas les gens de visiter le site s'ils connaissent l'URL. Une meilleure approche consiste à mettre le site derrière une connexion quelconque si vous avez besoin d'accéder à Internet en général, ou tout simplement d'héberger le serveur sur un serveur Web interne.

Greg Hewgill
la source
1
Ceci et la réponse de Greg (... l'autre Greg) résument tout à peu près parfaitement.
Anonyme
1

Dans l'esprit de "rentrer avec plus de connaissances":

Html / Css peut être masqué avec robots.txt, mais assurez-vous de modifier ces fichiers lorsque vous poussez le site en production. robots.txtn'empêche pas une personne aléatoire de deviner le site de développement (s'il est visible dans le monde entier).

.htaccesspourrait être utilisé pour ajouter un combo nom d'utilisateur / mot de passe à tout site en cours de développement.

Voici un exemple de la façon dont vous pouvez utiliser un VPN:

Toutes les demandes sur le VPN passent par un pare-feu. Ce pare-feu (exécutant certains logiciels comme pfSense ) examine les demandes de sites Web et effectue une redirection basée sur l'URL. Par exemple, l'url http: //example.com.staging dirigera vers la version d'exemple.com sur votre serveur intermédiaire , et l'url de http: //example.com.development dirigera vers la version d'exemple.com sur votre serveur de développement.

Étant donné que tout cela est sur un VPN privé, aucun de ces sites Web n'est accessible depuis le monde extérieur.

Aussi, pour clarifier certaines choses avec votre question d'origine. Le travail php / mysql est effectué côté serveur , donc les robots d'indexation, les navigateurs, etc. ne voient jamais le code - ils ne voient que la sortie du code (c'est-à-dire, si vous avez correctement configuré votre serveur et ne rendez pas fichiers .php sous forme de texte).

Je suis sûr que j'ai mal lu votre question, mais j'ai trouvé ambiguë votre utilisation de l'expression "stockage local". LocalStorage peut également faire référence à une technologie HTML5 pour stocker des actifs localement sur la machine d'un client. Il n'est pas utilisé pour le rendu html / css, c'est seulement une banque de données (le navigateur rend le html / css). Le stockage local n'a généralement rien à voir avec la façon dont les entreprises gardent les sites Web cachés dans le développement.

Les fichiers PHP peuvent être affichés localement si vous exécutez un serveur Web sur votre machine et que les fichiers se trouvent dans les répertoires appropriés (généralement le htdocsrépertoire si vous exécutez Apache).

CamelBlues
la source
0

Les moteurs de recherche fonctionnent à l'aide d' araignées : des scripts qui explorent le Web d'un lien à un autre. Si votre site est nouveau et qu'il n'existe aucun lien vers celui-ci, rien ne vous trouvera. Cela, plus un fichier robots.txt configuré pour empêcher toute araignée qui vagabonde sur votre site de le parcourir, devrait suffire.

Mason Wheeler
la source