Як компанії зберігають веб-сайти прихованими під час розробки?


9

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

  1. Офлайн-розробка: використання локального сховища для візуалізації html / css; не впевнений, як PHP / mysql буде працювати з цим.

  2. Використання .htaccess для запобігання доступу

  3. Використання VPN для запобігання доступу.


1
Найкраще рішення, коли це можливо, завжди мати тестовий сервер, повністю ідентичний виробничому серверу. І навіть у цьому випадку можуть статися несподівані сюрпризи ...
Авіо

Якщо ви хочете зайнятись повною локальною розробкою php, погляньте на easyphp.org, це простий інсталятор, який встановить і налаштує та налаштує веб-сервер Apache, MySQL db та PHP на робочому столі Windows.
Алан Барбер

Відповіді:


20

Найкращою практикою є наближення виробничого пакету на вашій локальній розробницькій машині. Це, як правило, включає базу даних, веб-сервер і ваш індивідуальний код. Робіть там усі свої розробки. Ніколи не редагуйте код на виробничому сервері.

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

Ви повинні обов'язково використовувати систему контролю версій для управління кодом. Git і Mercurial - суцільні варіанти.


Ей, Грег, чи є посилання, на яке ти можеш вказати мені, що показує мені, як це робити? все кодування, яке я знаю, - це дізнатися його самостійно, і тому вперше я працюю в компанії, хоча вони сказали, що це буде для мене середовище навчання, і вони з цим добре, але я хочу зайнятися якомога більше знань. Був би дуже вдячний.
аріель

Цей візерунок називається "приватним робочим простором". Здається, сайт informit.com/articles/article.aspx?p=30350 має розумний огляд.
greg

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

І поки ви на ньому, джерело також керує вашою датою!
HLGEM

В одному з моїх попередніх завдань наш автоматизований процес збирання застосував всю історію міграцій даних до золотого набору даних (підмножина виробничих даних), застосовуючи послідовно файли SQL послідовно.
greg

6

Попросити пошукових павуків не індексувати ваш сайт - це дуже слабкий захист, якщо такий є.

Звичайний спосіб зробити це наступним чином:

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

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


4

Увічливим сканерам (тобто будь-якій великій пошуковій системі) ви можете запропонувати /robots.txtфайл із:

Користувач-агент: *
Заборонити: /

Звичайно, це лише поради, і не забороняє людям фактично відвідувати сайт, якщо вони знають 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).


0

Пошукові системи працюють за допомогою павуків : сценарії, які переповнюють Інтернет з одного посилання на інше. Якщо ваш сайт новий і немає посилань на нього з інших країн, вас нічого не знайде. Цього, а також файлу robots.txt, налаштованого на те, щоб утримати павука, який якимось чином блукає по вашому сайту від його перегляду, має бути достатньо.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.