Как компании скрывают сайты в процессе разработки?

9

Я новичок в этом, а также новый 19-летний разработчик PHP, которого только что наняли, поэтому я не уверен, как это работает. Многие компании при разработке своих сайтов скрывают свои сайты от индексации. Какими способами html5 / css и затем php / mysql работают скрыто от поисковых систем? Если я не ошибаюсь, это методы:

  1. Автономная разработка: использование локального хранилища для рендеринга html / css; не уверен, как PHP / mysql будет работать с этим.

  2. Использование .htaccess для предотвращения доступа

  3. Использование VPN для предотвращения доступа.

Ariel
источник
1
Лучшее решение, когда это возможно, всегда иметь тестовый сервер, полностью идентичный производственному серверу. И даже в этом случае могут быть неожиданные сюрпризы ...
Avio
Если вы хотите заниматься полной локальной разработкой php, взгляните на easyphp.org, это простой установщик, который установит и настроит на вашем рабочем столе Windows Apache Web Server, MySQL DB и PHP.
Алан Барбер

Ответы:

20

Лучше всего иметь приблизительный производственный стек на локальном компьютере разработчика. Обычно это включает базу данных, веб-сервер и ваш настроенный код. Делайте все ваши разработки там. Никогда не редактируйте код на производственном сервере.

Когда заинтересованные стороны вашего бизнеса будут готовы к запуску функциональности, отправьте свой код с локального компьютера на рабочий сервер. Вы можете использовать тестовый сервер, чтобы внутренние заинтересованные лица могли предварительно просмотреть ваши изменения, прежде чем начать работу.

Вы должны быть уверены, что используете систему контроля версий для управления вашим кодом. Git и Mercurial - хорошие варианты.

Greg
источник
Эй, Грег, есть ли ссылка, на которую вы можете указать мне, которая показывает мне, как делать эти вещи? Все, что я знаю по кодированию, это я сам изучаю его, и поэтому я впервые работаю в компании, хотя они сказали, что это будет для меня учебной средой, и они согласны с этим, но я хочу использовать как можно больше знаний. Был бы очень признателен.
Ариэль
Этот шаблон называется «частным рабочим пространством». Сайт informit.com/articles/article.aspx?p=30350, кажется, имеет разумный обзор.
Грег
Также вы, вероятно, никогда не найдете точного рецепта для вашей ситуации. Вы должны быть в состоянии идентифицировать каждую из подсистем в вашей производственной среде и найти справку по установке для получения их на вашей локальной рабочей станции.
Грег
И пока вы на нем, источник контроля также контролирует вашу базу данных!
HLGEM
В одном из моих предыдущих заданий наш автоматизированный процесс сборки применил всю историю миграции данных к золотому набору данных (подмножеству производственных данных), последовательно применяя последовательность файлов SQL.
Грег
6

Просто попросить поисковых пауков не индексировать ваш сайт - очень слабая защита, если таковая имеется.

Обычный способ сделать это заключается в следующем:

  • В процессе разработки вы запускаете код на компьютере разработчика, который недоступен за пределами вашей локальной сети или, возможно, даже не откуда-либо, кроме той же машины (localhost). Обычно это делается с помощью брандмауэра, либо на сетевом уровне (настоящий брандмауэр локальной сети; если ваша компания чего-то стоит, у вас есть такой), либо локально («персональный» брандмауэр). Кроме того, вы можете настроить свой локальный сервер Apache так, чтобы он принимал подключения только от localhost (127.0.0.1).
  • Приемочная версия (т. Е. Версия в «песочнице», которую клиент может опробовать и протестировать) работает на машине, идентичной производственной среде (насколько это возможно - некоторые детали конфигурации должны будут отличаться); вы ограничиваете доступ аналогично тому, как вы это делали в среде разработки, за исключением того, что вы также предоставляете доступ к сети клиента. Если это невозможно (например, из-за того, что у клиента нет собственного выделенного IP-адреса или из-за того, что он не может понять, что это такое), вы можете рассмотреть возможность добавления HTTP-аутентификации и предоставления клиенту пароля; это может быть сделано на уровне веб-сервера (т. е. Apache), с одной оговоркой: HTTP-аутентификация проходит по незашифрованному каналу, поэтому, если принимаемая версия содержит что-либо, что является конфиденциально удаленным,

Что касается , как вы бы установить эти вещи: Если вы бежите приличное * распределение Никса, он поставляется с менеджером пакетов ( apt, port-install, rpmи т.д.); используйте его для установки необходимых компонентов и прочитайте документацию. Обратитесь за помощью к системному администратору, если вы не можете понять это самостоятельно.

tdammers
источник
4

Для вежливых сканеров (т. Е. Любой крупной поисковой системы) вы можете предложить /robots.txtфайл с:

Пользователь-агент: *
Disallow: /

Конечно, это только рекомендации, и они не будут запрещать людям посещать сайт, если они знают URL. Лучшим подходом является поместить сайт за каким-либо логином, если вам нужен доступ из Интернета в целом, или просто разместить сервер на внутреннем веб-сервере.

Грег Хьюгилл
источник
1
Это и ответ Грега (... другого Грега) суммируют все почти идеально.
Аноним
1

В духе «войти с большим количеством знаний»:

Html / Css можно скрыть robots.txt, но обязательно поменяйте эти файлы при запуске сайта в производство. robots.txtне мешает случайному человеку угадать сайт разработки (если он виден всему миру).

.htaccessможет быть использован для добавления комбинированного имени пользователя и пароля на любой разрабатываемый сайт.

Вот пример того, как вы могли бы использовать VPN:

Все запросы по VPN проходят через брандмауэр. Этот брандмауэр (работает под управлением некоторого программного обеспечения, такого как pfSense ) проверяет запросы веб-сайтов и выполняет некоторое перенаправление на основе URL. Например, URL http: //example.com.staging будет указывать на версию example.com на вашем промежуточном сервере, а URL-адрес http: //example.com.development будет указывать на версию example.com. на вашем сервере разработки.

Поскольку все это в частной VPN, ни один из этих сайтов не доступен из внешнего мира.

Кроме того, чтобы уточнить некоторые вещи с вашим оригинальным вопросом. Работа над php / mysql выполняется на стороне сервера , поэтому веб-сканеры, браузеры и т. Д. Никогда не видят код - они видят только вывод кода (то есть, если вы правильно настроили свой сервер и не выполняете рендеринг). .php файлы как текст).

Я уверен, что неправильно понял ваш вопрос, но я нашел, что вы используете фразу «локальное хранилище» неоднозначно. LocalStorage также может ссылаться на технологию HTML5 для локального хранения ресурсов на компьютере клиента. Он не используется для рендеринга html / css, это всего лишь хранилище данных (браузер отображает html / css). Локальное хранилище обычно не имеет ничего общего с тем, как компании скрывают сайты в процессе разработки.

Файлы PHP можно просматривать локально, если на вашем компьютере запущен веб-сервер, а файлы находятся в соответствующих каталогах (обычно это htdocsкаталог, если работает Apache).

CamelBlues
источник
0

Поисковые системы работают с помощью пауков : скриптов, которые сканируют сеть от одной ссылки к другой. Если ваш сайт новый и никаких ссылок на него не существует из других источников, вас ничто не найдет. Этого, плюс файл robots.txt, настроенный так, чтобы любой паук, который каким-то образом бродит по вашему сайту, не просматривал его, должно быть достаточно.

Мейсон Уилер
источник