W jaki sposób firmy ukrywają witryny podczas tworzenia?

9

Jestem nowy, a także nowy 19-letni programista PHP, który właśnie został zatrudniony, więc nie jestem pewien, jak to działa. Wiele firm opracowując swoje strony internetowe nie indeksuje swoich witryn. Jakie są sposoby ukrywania pracy html5 / css, a następnie php / mysql w wyszukiwarkach? Jeśli się nie mylę, są to następujące techniki:

  1. Programowanie offline: używanie lokalnego magazynu do renderowania html / css; nie jestem pewien, jak PHP / mysql by z tym działało.

  2. Używanie .htaccess, aby uniemożliwić dostęp

  3. Korzystanie z VPN, aby uniemożliwić dostęp.

ariel
źródło
1
Najlepszym rozwiązaniem, jeśli to możliwe, jest zawsze posiadanie serwera testowego całkowicie identycznego z serwerem produkcyjnym. I nawet w tym przypadku mogą wystąpić nieoczekiwane niespodzianki ...
Avio
Jeśli chcesz wykonać pełny lokalny rozwój php, spójrz na easyphp.org, to prosty instalator, który zainstaluje i skonfiguruje serwer Apache Web Server, MySQL db i PHP na pulpicie Windows.
Alan Barber

Odpowiedzi:

20

Najlepszą praktyką jest przybliżenie stosu produkcyjnego na lokalnym komputerze dewelopera. Zwykle obejmuje to bazę danych, serwer WWW i dostosowany kod. Zrób tam cały swój rozwój. Nigdy nie edytuj kodu na serwerze produkcyjnym.

Gdy interesariusze biznesowi będą gotowi do uruchomienia tej funkcji, przenieś kod z komputera lokalnego na serwer produkcyjny. Możesz użyć serwera testowego, aby wewnętrzni interesariusze mogli wyświetlić podgląd zmian przed uruchomieniem.

Do zarządzania kodem należy używać systemu kontroli wersji. Git i Mercurial to solidne opcje.

greg
źródło
Hej Greg, czy jest link, na który możesz wskazać mi, który pokazuje mi, jak to zrobić? wszystkie kodowania, które znam, pochodzą z samodzielnej nauki, więc po raz pierwszy pracuję w firmie, chociaż powiedzieli, że będzie to dla mnie środowisko do nauki i są w tym w porządku, ale chcę mieć jak najwięcej wiedzy. Byłbym bardzo wdzięczny.
ariel
Ten wzorzec nazywany jest „prywatnym obszarem roboczym”. Strona informit.com/articles/article.aspx?p=30350 wydaje się mieć rozsądny przegląd.
greg
Prawdopodobnie nigdy nie znajdziesz dokładnego przepisu na swoją sytuację. Powinieneś być w stanie zidentyfikować każdy podsystem w środowisku produkcyjnym i znaleźć pomoc dotyczącą instalacji, aby uzyskać je na lokalnej stacji roboczej.
greg
A gdy już to robisz, kontroluj źródło swojej bazy danych!
HLGEM
W jednym z moich poprzednich zadań nasz zautomatyzowany proces kompilacji zastosował całą historię migracji danych do złotego zestawu danych (podzbioru danych produkcyjnych) poprzez zastosowanie sekwencji plików SQL kolejno.
greg
6

Samo proszenie pająków wyszukiwania o nieindeksowanie witryny jest bardzo słabą obroną, jeśli w ogóle istnieje.

Zwykle można to zrobić w następujący sposób:

  • Podczas programowania kod jest uruchamiany na maszynie programistycznej, która nie jest dostępna spoza sieci LAN lub prawdopodobnie nawet z dowolnego miejsca poza tym samym komputerem (localhost). Zwykle odbywa się to za pomocą zapory ogniowej, albo na poziomie sieci (rzeczywista zapora sieci LAN; jeśli Twoja firma jest w ogóle cokolwiek warta, masz ją) lub lokalnie (zapora osobista). Ponadto można skonfigurować lokalny serwer Apache tak, aby akceptował tylko połączenia z hosta lokalnego (127.0.0.1).
  • Wersja akceptacyjna (tj. Wersja piaskownicy do wypróbowania i przetestowania przez klienta) działa na komputerze, który jest identyczny ze środowiskiem produkcyjnym (w miarę możliwości - niektóre szczegóły konfiguracji będą musiały być inne); ograniczasz dostęp podobnie jak w środowisku programistycznym, z tym że udzielasz również dostępu do sieci klienta. Jeśli nie jest to możliwe (np. Dlatego, że klient nie ma własnego dedykowanego adresu IP lub ponieważ nie można sobie wyobrazić, co to jest), możesz rozważyć dodanie uwierzytelnienia HTTP i nadanie klientowi hasła; można to zrobić na poziomie serwera WWW (tj. Apache), z jednym zastrzeżeniem: uwierzytelnianie HTTP odbywa się niezakodowane przez drut, więc jeśli wersja akceptacji zawiera coś zdalnie poufnego,

, Jak chcesz ustawić te rzeczy: Jeśli prowadzisz godnej * nix dystrybucji, pochodzi z menedżera pakietów ( apt, port-install, rpm, itd.); użyj tego, aby zainstalować potrzebne komponenty i przeczytaj dokumentację. Poproś sysadmin o pomoc, jeśli sam nie możesz tego zrozumieć.

tdammers
źródło
4

W przypadku uprzejmych robotów indeksujących (tj. Dowolnej większej wyszukiwarki) możesz zaoferować /robots.txtplik z:

Agent użytkownika: *
Disallow: /

Oczywiście ma to jedynie charakter doradczy i nie uniemożliwia osobom odwiedzającym witryny, jeśli znają adres URL. Lepszym rozwiązaniem jest umieszczenie witryny za jakimś loginem, jeśli potrzebujesz dostępu z Internetu w całości lub po prostu hostujesz serwer na wewnętrznym serwerze internetowym.

Greg Hewgill
źródło
1
To i odpowiedź Grega (... drugiego Grega) podsumowują wszystko prawie idealnie.
Anonimowy
1

W duchu „wchodzenia z większą wiedzą”:

HTML / Css można ukryć za pomocą robots.txt, ale pamiętaj, aby zmienić te pliki, gdy wypchniesz witrynę do produkcji. robots.txtnie uniemożliwia przypadkowej osobie odgadnięcia strony programistycznej (jeśli jest widoczna dla całego świata).

.htaccessmoże być użyty do dodania nazwy użytkownika / hasła do dowolnej rozwijanej witryny.

Oto przykład wykorzystania VPN:

Wszystkie żądania w sieci VPN przechodzą przez zaporę ogniową. Ta zapora ogniowa (działająca na oprogramowaniu takim jak pfSense ) sprawdza żądania stron internetowych i dokonuje przekierowań na podstawie adresu URL. Na przykład adres URL http: //example.com.staging przekieruje do wersji example.com na serwerze pomostowym, a adres URL http: //example.com.development przekieruje do wersji example.com na serwerze programistycznym.

Ponieważ wszystko to odbywa się na prywatnej sieci VPN, żadna z tych stron nie jest dostępna ze świata zewnętrznego.

Ponadto, aby wyjaśnić niektóre rzeczy w swoim pierwotnym pytaniu. Prace php / mysql są wykonywane po stronie serwera , więc roboty indeksujące, przeglądarki itp. Nigdy nie widzą kodu - widzą tylko wynik kodu (to znaczy, jeśli poprawnie skonfigurowałeś serwer i nie renderujesz pliki .php jako tekst).

Jestem pewien, że źle odczytałem twoje pytanie, ale uznałem, że użycie wyrażenia „pamięć lokalna” jest niejednoznaczne. LocalStorage może także odnosić się do technologii HTML5 służącej do lokalnego przechowywania zasobów na komputerze klienta. Nie służy do renderowania html / css, jest to tylko magazyn danych (przeglądarka renderuje html / css). Lokalna pamięć masowa zazwyczaj nie ma nic wspólnego z tym, jak firmy ukrywają witryny podczas tworzenia.

Pliki PHP można wyświetlać lokalnie, jeśli na komputerze działa serwer WWW, a pliki znajdują się w odpowiednich katalogach (zwykle w htdocskatalogu, jeśli uruchomiony jest Apache).

CamelBlues
źródło
0

Wyszukiwarki działają przy użyciu pająków : skryptów przeszukujących sieć z jednego linku do drugiego. Jeśli Twoja witryna jest nowa i nie ma linków do niej z innych źródeł, nic Cię nie znajdzie. To plus plik robots.txt skonfigurowany tak, aby powstrzymać pająka, który w jakiś sposób wędruje po Twojej witrynie, nie powinien go przejrzeć.

Mason Wheeler
źródło