In che modo le aziende mantengono nascosti i siti Web durante lo sviluppo?


9

Sono nuovo di questo e anche un nuovo sviluppatore di PHP di 19 anni che è appena stato assunto, quindi non sono sicuro di come funzioni. Molte aziende durante lo sviluppo dei loro siti Web mantengono i loro siti nascosti dall'indicizzazione. Quali sono alcuni modi in cui html5 / css e quindi php / mysql funzionano sono nascosti ai motori di ricerca? Se non sbaglio, queste sono le tecniche:

  1. Sviluppo offline: utilizzo dell'archiviazione locale per il rendering di html / css; non sono sicuro di come PHP / mysql funzionerebbe con quello.

  2. Utilizzo di .htaccess per impedire l'accesso

  3. Utilizzo di VPN per impedire l'accesso.


1
La soluzione migliore, quando possibile, è sempre avere un server di prova completamente identico al server di produzione. E anche in questo caso ci possono essere sorprese inaspettate ...
Avio,

Se vuoi fare uno sviluppo php locale completo dai un'occhiata a easyphp.org è un semplice programma di installazione che farà installare e configurare Apache Web Server, MySQL db e PHP sul desktop di Windows.
Alan Barber,

Risposte:


20

La migliore pratica è di avere un'approssimazione dello stack di produzione sulla macchina sviluppatore locale. Ciò include in genere il database, il server Web e il codice personalizzato. Fai tutto il tuo sviluppo lì. Non modificare mai il codice su un server di produzione.

Quando le parti interessate dell'azienda sono pronte per l'attivazione della funzionalità, inviare il codice dal computer locale al server di produzione. È possibile utilizzare un server di prova in modo che gli stakeholder interni possano visualizzare in anteprima le modifiche prima di andare in diretta.

Dovresti essere sicuro di utilizzare un sistema di controllo della versione per gestire il tuo codice. Git e Mercurial sono opzioni solide.


Ehi Greg, c'è un link a cui puoi indicarmi che mi mostra come fare queste cose? tutto il codice che conosco proviene dall'apprendimento da solo e quindi la prima volta che lavoro in un'azienda anche se hanno detto che sarebbe stato un ambiente di apprendimento per me e sono d'accordo con quello, ma voglio entrare con quante più conoscenze possibili. Lo apprezzerei davvero.
Ariel

Questo modello è chiamato "spazio di lavoro privato". Il sito informit.com/articles/article.aspx?p=30350 sembra avere una panoramica ragionevole.
Greg

Inoltre probabilmente non troverai mai una ricetta esatta per la tua situazione. Dovresti essere in grado di identificare ciascuno dei sottosistemi nel tuo ambiente di produzione e di trovare una guida all'installazione per trovarli sulla tua workstation locale.
Greg

E mentre ci sei, controlla anche il tuo database!
HLGEM,

In uno dei miei precedenti lavori, il nostro processo di compilazione automatizzato ha applicato l'intera cronologia delle migrazioni dei dati a un set di dati gold (un sottoinsieme di dati di produzione) applicando una sequenza di file SQL in successione.
Greg

6

Chiedere semplicemente agli spider di ricerca di non indicizzare il tuo sito è una difesa molto debole, se presente.

Il solito modo di procedere è il seguente:

  • Durante lo sviluppo, esegui il codice su una macchina di sviluppo che non è accessibile dall'esterno della tua LAN, o forse nemmeno da nessuna parte tranne la stessa macchina (localhost). Questo di solito viene fatto con un firewall, a livello di rete (un firewall LAN effettivo; se la tua azienda vale qualcosa, ne hai uno) o localmente (un firewall "personale"). Inoltre, puoi configurare il tuo server Apache locale per accettare connessioni solo da localhost (127.0.0.1).
  • La versione di accettazione (ovvero una versione sandbox per il cliente da provare e testare) viene eseguita su una macchina identica all'ambiente di produzione (per quanto possibile - alcuni dettagli di configurazione dovranno essere diversi); limiti l'accesso in modo analogo a come hai fatto con l'ambiente di sviluppo, tranne che concedi l'accesso anche alla rete del cliente. Se ciò non è possibile (ad es. Perché il cliente non ha un proprio IP dedicato o perché non può essere disturbato a capire di cosa si tratta), è possibile prendere in considerazione l'aggiunta dell'autenticazione HTTP e la password del cliente; questo può essere fatto a livello di server web (ad es. Apache), con un avvertimento: l'autenticazione HTTP passa attraverso il cavo non crittografato, quindi se la versione di accettazione contiene qualcosa di remoto riservato,

Quanto a come ci si impostano queste cose: se si esegue un dignitoso di distribuzione * nix, è dotato di un gestore di pacchetti ( apt, port-install, rpm, etc.); usalo per installare i componenti necessari e leggi la documentazione. Chiedi aiuto a un amministratore di sistema se non riesci a capirlo da solo.


4

Per i crawler educati (vale a dire qualsiasi motore di ricerca principale), puoi offrire un /robots.txtfile con:

Agente utente: *
Non consentire: /

Naturalmente questo è solo consultivo e non impedirà alle persone di visitare effettivamente il sito se conoscono l'URL. Un approccio migliore è quello di mettere il sito dietro un accesso di qualche tipo se è necessario l'accesso da Internet in generale, o semplicemente ospitare il server su un server Web interno.


1
Questa e la risposta di Greg (... l'altra Greg) riassumono tutto alla perfezione.
Anonimo

1

Nello spirito di "entrare con più conoscenza":

Html / Css può essere nascosto con robots.txt, ma assicurati di cambiare quei file quando spingi il sito in produzione. robots.txtnon impedisce a una persona a caso di indovinare il sito Web di sviluppo (se è visibile a tutto il mondo).

.htaccesspotrebbe essere utilizzato per aggiungere una combinazione nome utente / password a qualsiasi sito in fase di sviluppo.

Ecco un esempio di come è possibile utilizzare una VPN:

Tutte le richieste sulla VPN passano attraverso un firewall. Quel firewall (che esegue alcuni software come pfSense ) esamina le richieste del sito Web e esegue un reindirizzamento basato sull'URL. Ad esempio, l'URL http: //example.com.staging verrà indirizzato alla versione di example.com sul server di gestione temporanea e l'URL di http: //example.com.development indirizzerà alla versione di example.com sul tuo server di sviluppo.

Dal momento che tutto questo è su una VPN privata, nessuno di questi siti Web è accessibile dal mondo esterno.

Inoltre, per chiarire alcune cose con la tua domanda originale. Il lavoro php / mysql viene svolto sul lato server , quindi i web crawler, i browser, ecc. Non vedono mai il codice - vedono solo l'output del codice (cioè se hai configurato correttamente il tuo server e non stai eseguendo il rendering file .php come testo).

Sono sicuro di aver letto male la tua domanda, ma ho trovato ambiguo il tuo uso della frase "archiviazione locale". LocalStorage può anche fare riferimento a una tecnologia HTML5 per la memorizzazione di risorse localmente sul computer di un cliente. Non viene utilizzato per il rendering di html / css, è solo un archivio dati (il browser esegue il rendering di html / css). Lo storage locale in genere non ha nulla a che fare con il modo in cui le aziende mantengono nascosti i siti Web durante lo sviluppo.

I file PHP possono essere visualizzati localmente se si esegue un server Web sul proprio computer e i file si trovano nelle directory appropriate (di solito la htdocsdirectory se si esegue Apache).


0

I motori di ricerca funzionano con gli spider : script che eseguono la scansione del Web da un collegamento all'altro. Se il tuo sito è nuovo e non esistono collegamenti ad esso da nessun'altra parte, nulla ti troverà. Questo, oltre a un file robots.txt configurato per impedire a qualsiasi spider che vaga in qualche modo sul tuo sito di sfogliarlo, dovrebbe essere sufficiente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.