Làm thế nào để các công ty giữ các trang web ẩn khi phát triển?


9

Tôi chưa quen với điều này và cũng là một nhà phát triển PHP 19 tuổi mới được tuyển dụng nên tôi không chắc về cách thức hoạt động của nó. Nhiều công ty khi phát triển trang web của họ giữ cho các trang web của họ bị ẩn khỏi bị lập chỉ mục. Một số cách html5 / css và sau đó công việc php / mysql bị ẩn khỏi các công cụ tìm kiếm là gì? Nếu tôi không sai, đây là những kỹ thuật:

  1. Phát triển ngoại tuyến: sử dụng bộ nhớ cục bộ để kết xuất html / css; không chắc chắn làm thế nào PHP / mysql sẽ làm việc với điều đó.

  2. Sử dụng .htaccess để ngăn truy cập

  3. Sử dụng VPN để ngăn chặn truy cập.


1
Giải pháp tốt nhất, khi có thể, luôn là có một máy chủ thử nghiệm hoàn toàn giống với máy chủ sản xuất. Và ngay cả trong trường hợp này cũng có thể có những bất ngờ bất ngờ ...
Avio

Nếu bạn muốn thực hiện phát triển php cục bộ đầy đủ, hãy xem easyphp.org , trình cài đặt đơn giản sẽ cài đặt Apache Web Server, MySQL db và PHP được cài đặt và định cấu hình trên màn hình nền Windows của bạn.
Alan Thợ cắt tóc

Câu trả lời:


20

Cách thực hành tốt nhất là có một xấp xỉ của ngăn xếp sản xuất trên máy phát triển cục bộ của bạn. Điều này thường bao gồm cơ sở dữ liệu, máy chủ web và mã tùy chỉnh của bạn. Làm tất cả sự phát triển của bạn ở đó. Không bao giờ chỉnh sửa mã trên một máy chủ sản xuất.

Khi các bên liên quan kinh doanh của bạn đã sẵn sàng để chức năng hoạt động, hãy đẩy mã của bạn từ máy cục bộ của bạn đến máy chủ sản xuất. Bạn có thể sử dụng máy chủ thử nghiệm để các bên liên quan nội bộ có thể xem trước các thay đổi của bạn trước khi bạn đi vào hoạt động.

Bạn nên chắc chắn sử dụng một hệ thống kiểm soát phiên bản để quản lý mã của bạn. Git và Mercurial là những lựa chọn vững chắc.


Này greg, có một liên kết bạn có thể chỉ cho tôi để chỉ cho tôi cách làm những điều này? tất cả mã hóa tôi biết là từ việc tự học và vì vậy lần đầu tiên tôi làm việc tại một công ty mặc dù họ nói rằng đó sẽ là môi trường học tập cho tôi và họ ổn với điều đó nhưng tôi muốn tìm hiểu càng nhiều càng tốt. Sẽ thực sự đánh giá cao nó.
ariel

Mẫu này được gọi là "không gian làm việc riêng". Trang web notifyit.com/articles/article.aspx?p=30350 dường như có một cái nhìn tổng quan hợp lý.
greg

Ngoài ra, bạn có thể sẽ không bao giờ tìm thấy một công thức chính xác cho tình huống của bạn. Bạn sẽ có thể xác định từng hệ thống con trong môi trường sản xuất của bạn và tìm trợ giúp cài đặt để nhận chúng trên máy trạm cục bộ của bạn.
greg

Và trong khi bạn đang ở đó, nguồn cũng kiểm soát cơ sở dữ liệu của bạn!
HLGEM

Trong một trong những công việc trước đây của tôi, quy trình xây dựng tự động của chúng tôi đã áp dụng toàn bộ lịch sử di chuyển dữ liệu vào một tập dữ liệu vàng (một tập hợp con của dữ liệu sản xuất) bằng cách áp dụng một chuỗi các tệp SQL liên tiếp.
greg

6

Chỉ yêu cầu các con nhện tìm kiếm vui lòng không lập chỉ mục trang web của bạn là một phòng thủ rất yếu, nếu có.

Cách thông thường để làm điều này là như sau:

  • Trong khi phát triển, bạn chạy mã trên máy phát triển không thể truy cập từ bên ngoài mạng LAN của bạn hoặc thậm chí có thể không từ bất kỳ nơi nào ngoại trừ cùng một máy (localhost). Điều này thường được thực hiện với tường lửa, ở cấp độ mạng (tường lửa LAN thực tế; nếu công ty của bạn có giá trị gì cả, bạn có một cái) hoặc cục bộ (tường lửa 'cá nhân'). Ngoài ra, bạn có thể định cấu hình máy chủ apache cục bộ của mình để chỉ chấp nhận kết nối từ localhost (127.0.0.1).
  • Phiên bản chấp nhận (nghĩa là phiên bản hộp cát để khách hàng dùng thử và thử nghiệm) chạy trên một máy giống hệt với môi trường sản xuất (càng nhiều càng tốt - một số chi tiết cấu hình sẽ phải khác); bạn giới hạn quyền truy cập tương tự như cách bạn đã làm với môi trường phát triển, ngoại trừ bạn cũng cấp quyền truy cập vào mạng của khách hàng. Nếu điều này là không thể (ví dụ: vì khách hàng không có IP chuyên dụng của riêng họ hoặc vì họ không thể bận tâm tìm hiểu nó là gì), bạn có thể xem xét thêm xác thực HTTP và cung cấp cho khách hàng mật khẩu; điều này có thể được thực hiện ở cấp máy chủ web (ví dụ: Apache), với một lưu ý: Xác thực HTTP đi qua dây không được mã hóa, vì vậy nếu phiên bản chấp nhận có chứa bất cứ điều gì bí mật từ xa,

Như thế nào bạn muốn thiết lập những điều này: Nếu bạn chạy một bản phân phối nix * đàng hoàng, nó đi kèm với một bộ quản lý gói ( apt, port-install, rpm, vv); sử dụng để cài đặt các thành phần bạn cần và đọc tài liệu. Hỏi một sysadmin để được giúp đỡ nếu bạn không thể tự mình tìm ra.


4

Đối với các trình thu thập thông tin lịch sự (ví dụ: bất kỳ công cụ tìm kiếm chính nào), bạn có thể cung cấp một /robots.txttệp với:

Đại lý người dùng: *
Không cho phép: /

Tất nhiên, đó chỉ là lời khuyên và sẽ không cho phép mọi người thực sự truy cập trang web nếu họ biết URL. Một cách tiếp cận tốt hơn là đặt trang web đằng sau một loại đăng nhập nào đó nếu bạn cần truy cập từ internet, hoặc đơn giản là lưu trữ máy chủ trên một máy chủ web nội bộ.


1
Câu trả lời của Greg và ... (Greg khác) tổng hợp mọi thứ khá hoàn hảo.
Ẩn danh

1

Theo tinh thần "đi vào với nhiều kiến ​​thức hơn":

Html / Css có thể được ẩn đi robots.txt, nhưng hãy nhớ thay đổi các tệp đó khi bạn đẩy trang web sang sản xuất. robots.txtkhông ngăn cản một số người ngẫu nhiên đoán trang web phát triển (nếu nó hiển thị trên toàn thế giới).

.htaccesscó thể được sử dụng để thêm kết hợp tên người dùng / mật khẩu cho bất kỳ trang web nào đang được phát triển.

Dưới đây là một ví dụ về cách bạn có thể sử dụng VPN:

Tất cả các yêu cầu trên VPN đều đi qua tường lửa. Tường lửa đó (chạy một số phần mềm như pfSense ) kiểm tra các yêu cầu trang web và thực hiện một số chuyển hướng dựa trên url. Ví dụ: url http: //example.com.staging sẽ hướng đến phiên bản example.com trên máy chủ dàn của bạn và url của http: //example.com.development sẽ hướng đến phiên bản example.com trên máy chủ phát triển của bạn.

Vì tất cả điều này là trên một VPN riêng tư, không có trang web nào trong số này có thể truy cập được từ thế giới bên ngoài.

Ngoài ra, để làm rõ một số điều với câu hỏi ban đầu của bạn. Công việc php / mysql đang được thực hiện phía máy chủ , vì vậy trình thu thập dữ liệu web, trình duyệt, v.v. không bao giờ thấy mã - họ chỉ thấy đầu ra của mã (nghĩa là, nếu bạn đã cấu hình máy chủ của mình một cách chính xác và không hiển thị tập tin .php dưới dạng văn bản).

Tôi chắc chắn tôi đã đọc sai câu hỏi của bạn, nhưng tôi thấy việc bạn sử dụng cụm từ "lưu trữ cục bộ" mơ hồ. LocalStorage cũng có thể tham khảo công nghệ HTML5 để lưu trữ tài sản cục bộ trên máy của khách hàng. Nó không được sử dụng để kết xuất html / css, nó chỉ là một kho dữ liệu (trình duyệt kết xuất html / css). Lưu trữ cục bộ thường không liên quan gì đến cách các công ty giữ các trang web bị ẩn trong quá trình phát triển.

Các tệp PHP có thể được xem cục bộ nếu bạn đang chạy một máy chủ web trên máy của mình và các tệp nằm trong các thư mục thích hợp (thường là htdocsthư mục nếu chạy Apache).


0

Các công cụ tìm kiếm hoạt động bằng cách sử dụng các con nhện : các tập lệnh thu thập dữ liệu web từ liên kết này sang liên kết khác. Nếu trang web của bạn là mới và không có liên kết đến nó tồn tại từ nơi khác, sẽ không có gì tìm thấy bạn. Điều đó, cộng với một tệp robots.txt được định cấu hình để giữ cho bất kỳ con nhện nào đi lang thang trên trang web của bạn khỏi bị xâm nhập, là đủ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.