Como as empresas mantêm os sites ocultos quando em desenvolvimento?

9

Eu sou novo nisso e também um desenvolvedor PHP de 19 anos que acabou de ser contratado, por isso não tenho certeza de como isso funciona. Muitas empresas ao desenvolver seus sites mantêm seus sites ocultos da indexação. Quais são algumas das maneiras pelas quais o html5 / css e o php / mysql funcionam ocultos nos mecanismos de pesquisa? Se não estou errado, estas são as técnicas:

  1. Desenvolvimento offline: usando armazenamento local para renderizar html / css; não tenho certeza de como o PHP / mysql funcionaria com isso.

  2. Usando .htaccess para impedir o acesso

  3. Usando VPN para impedir o acesso.

ariel
fonte
11
A melhor solução, quando possível, é sempre ter um servidor de teste completamente idêntico ao servidor de produção. E mesmo neste caso, não pode haver surpresas inesperadas ...
Avio
Se você deseja fazer o desenvolvimento completo do php local, dê uma olhada no easyphp.org , é um instalador simples que fará com que o Apache Web Server, o MySQL db e o PHP sejam instalados e configurados na área de trabalho do Windows.
Alan Barber #

Respostas:

20

A melhor prática é ter uma aproximação da pilha de produção em sua máquina desenvolvedora local. Isso normalmente inclui o banco de dados, o servidor da web e seu código personalizado. Faça todo o seu desenvolvimento lá. Nunca edite o código em um servidor de produção.

Quando as partes interessadas da sua empresa estiverem prontas para a funcionalidade entrar no ar, envie seu código da máquina local para o servidor de produção. Você pode usar um servidor de teste para que as partes interessadas internas possam visualizar suas alterações antes de entrar em operação.

Você deve usar um sistema de controle de versão para gerenciar seu código. Git e Mercurial são opções sólidas.

greg
fonte
Ei Greg, existe um link para o qual você possa me indicar que me mostra como fazer essas coisas? toda a codificação que conheço é do aprendizado de mim mesmo e, pela primeira vez, estou trabalhando em uma empresa, embora eles tenham dito que será um ambiente de aprendizado para mim e que eles concordam, mas eu quero entrar com o máximo de conhecimento possível. Realmente apreciaria.
Ariel #
Esse padrão é chamado de "espaço de trabalho privado". O site informit.com/articles/article.aspx?p=30350 parece ter uma visão geral razoável.
greg
Além disso, você provavelmente nunca encontrará uma receita exata para sua situação. Você deve poder identificar cada um dos subsistemas em seu ambiente de produção e encontrar ajuda de instalação para colocá-los em sua estação de trabalho local.
greg
E enquanto você está nisso, a fonte também controla sua base de dados!
HLGEM
Em um dos meus trabalhos anteriores, nosso processo automatizado de construção aplicou todo o histórico de migrações de dados a um conjunto de dados gold (um subconjunto de dados de produção) aplicando uma sequência de arquivos SQL em sucessão.
greg 22/05
6

Apenas pedir às aranhas de pesquisa que não indexem seu site é uma defesa muito fraca, se houver.

A maneira usual de fazer isso é a seguinte:

  • Enquanto estiver em desenvolvimento, você executa o código em uma máquina de desenvolvimento que não é acessível fora da sua LAN, ou possivelmente nem em qualquer lugar, exceto na mesma máquina (host local). Isso geralmente é feito com um firewall, no nível da rede (um firewall de LAN real; se sua empresa vale alguma coisa, você tem um) ou localmente (um firewall 'pessoal'). Além disso, você pode configurar o servidor apache local para aceitar apenas conexões do host local (127.0.0.1).
  • A versão de aceitação (ou seja, uma versão em área restrita para o cliente experimentar e testar) é executada em uma máquina idêntica ao ambiente de produção (o máximo possível - alguns detalhes de configuração terão que ser diferentes); você limita o acesso de maneira semelhante à do ambiente de desenvolvimento, exceto se também concede acesso à rede do cliente. Se isso não for possível (por exemplo, porque o cliente não possui seu próprio IP dedicado ou porque não pode se incomodar em descobrir o que é), considere adicionar a autenticação HTTP e fornecer uma senha ao cliente; isso pode ser feito no nível do servidor web (ou seja, Apache), com uma ressalva: a autenticação HTTP passa pela conexão sem criptografia, portanto, se a versão de aceitação contiver algo remotamente confidencial,

Quanto à forma como você definir essas coisas: Se você executar uma distribuição decente * nix, ele vem com um gerenciador de pacotes ( apt, port-install, rpm, etc.); use isso para instalar os componentes necessários e leia a documentação. Peça ajuda a um administrador de sistemas se você não conseguir descobrir sozinho.

tdammers
fonte
4

Para rastreadores educados (por exemplo, qualquer mecanismo de pesquisa importante), você pode oferecer um /robots.txtarquivo com:

Agente de usuário: *
Não permitir: /

Claro que isso é apenas um aviso e não impedirá que as pessoas realmente acessem o site se souberem o URL. Uma abordagem melhor é colocar o site atrás de um login de algum tipo, se você precisar acessar da Internet em geral, ou simplesmente hospedar o servidor em um servidor da Web interno.

Greg Hewgill
fonte
11
Esta e a resposta de Greg (... o outro Greg) resumem tudo perfeitamente.
Anônimo
1

No espírito de "entrar com mais conhecimento":

Html / Css pode ser oculto robots.txt, mas certifique-se de alterar esses arquivos quando você colocar o site em produção. robots.txtnão impede que uma pessoa aleatória adivinhe o site de desenvolvimento (se for visível para o mundo inteiro).

.htaccesspode ser usado para adicionar uma combinação de nome de usuário / senha a qualquer site em desenvolvimento.

Aqui está um exemplo de como você pode usar uma VPN:

Todas as solicitações na VPN passam por um firewall. Esse firewall (executando algum software como o pfSense ) examina as solicitações do site e faz algum redirecionamento com base no URL. Por exemplo, o URL http: //example.com.staging direcionará para a versão de example.com em seu servidor de temporariedade e o URL de http: //example.com.development direcionará para a versão de example.com no seu servidor de desenvolvimento.

Como tudo isso está em uma VPN privada, nenhum desses sites é acessível no mundo exterior.

Além disso, para esclarecer algumas coisas com sua pergunta original. O trabalho php / mysql está sendo feito no servidor , para que os rastreadores da web, navegadores etc. nunca vejam o código - eles apenas veem a saída do código (ou seja, se você configurou o servidor corretamente e não está processando arquivos .php como texto).

Tenho certeza de que interpretou mal sua pergunta, mas achei ambígua o uso da frase "armazenamento local". LocalStorage também pode se referir a uma tecnologia HTML5 para armazenar ativos localmente na máquina do cliente. Não é usado para renderizar html / css, é apenas um armazenamento de dados (o navegador renderiza o html / css). O armazenamento local normalmente não tem nada a ver com o modo como as empresas mantêm os sites ocultos no desenvolvimento.

Os arquivos PHP podem ser visualizados localmente se você estiver executando um servidor Web em sua máquina e os arquivos estiverem nos diretórios apropriados (geralmente o htdocsdiretório se estiver executando o Apache).

CamelBlues
fonte
0

Os mecanismos de pesquisa funcionam usando aranhas : scripts que rastreiam a web de um link para outro. Se o seu site for novo e se não houver links de outros lugares, nada o encontrará. Isso, além de um arquivo robots.txt configurado para impedir que qualquer aranha que de alguma forma passeie pelo seu site o examine, deve ser suficiente.

Mason Wheeler
fonte