Bagaimana cara perusahaan menyembunyikan situs web saat dalam pengembangan?

9

Saya baru dalam hal ini dan juga seorang pengembang PHP berusia 19 tahun yang baru saja diterima jadi saya tidak yakin bagaimana cara kerjanya. Banyak perusahaan saat mengembangkan situs web mereka menyembunyikan situs mereka agar tidak diindeks. Apa sajakah cara html5 / css dan kemudian pekerjaan php / mysql disembunyikan dari mesin pencari? Jika saya tidak salah, ini adalah tekniknya:

  1. Pengembangan offline: menggunakan penyimpanan lokal untuk membuat html / css; tidak yakin bagaimana PHP / mysql akan bekerja dengan itu.

  2. Menggunakan .htaccess untuk mencegah akses

  3. Menggunakan VPN untuk mencegah akses.

Ariel
sumber
1
Solusi terbaik, bila memungkinkan, adalah selalu memiliki server uji yang benar-benar identik dengan server produksi. Dan bahkan dalam hal ini mungkin ada kejutan yang tidak terduga ...
Avio
Jika Anda ingin melakukan pengembangan php lokal penuh lihat easyphp.org installer sederhana yang akan mendapatkan Apache Web Server, MySQL db dan PHP diinstal dan dikonfigurasi pada desktop windows Anda.
Alan Barber

Jawaban:

20

Praktik terbaik adalah memiliki perkiraan tumpukan produksi pada mesin pengembang lokal Anda. Ini biasanya termasuk basis data, server web dan kode khusus Anda. Lakukan semua perkembangan Anda di sana. Jangan pernah mengedit kode di server produksi.

Ketika pemangku kepentingan bisnis Anda siap untuk fungsionalitas untuk ditayangkan, dorong kode Anda dari mesin lokal Anda ke server produksi. Anda mungkin menggunakan server uji sehingga pemangku kepentingan internal dapat melihat pratinjau perubahan Anda sebelum ditayangkan.

Anda harus yakin untuk menggunakan sistem kontrol versi untuk mengelola kode Anda. Git dan Mercurial adalah opsi solid.

greg
sumber
Hei greg, apakah ada tautan yang bisa Anda tunjukkan kepada saya yang menunjukkan kepada saya bagaimana melakukan hal-hal ini? semua pengkodean yang saya tahu adalah dari mempelajarinya sendiri dan jadi pertama kali saya bekerja di sebuah perusahaan meskipun mereka mengatakan itu akan menjadi lingkungan belajar bagi saya dan mereka baik-baik saja dengan itu tetapi saya ingin masuk dengan pengetahuan sebanyak mungkin. Akan sangat menghargainya.
ariel
Pola ini disebut "ruang kerja pribadi". Situs informit.com/articles/article.aspx?p=30350 tampaknya memiliki ikhtisar yang masuk akal.
greg
Anda juga mungkin tidak akan pernah menemukan resep yang tepat untuk situasi Anda. Anda harus dapat mengidentifikasi masing-masing subsistem di lingkungan produksi Anda dan menemukan bantuan instalasi untuk mendapatkannya di workstation lokal Anda.
greg
Dan saat Anda melakukannya, sumber juga mengontrol basis data Anda!
HLGEM
Dalam salah satu pekerjaan saya sebelumnya, proses pembuatan otomatis kami menerapkan seluruh riwayat migrasi data ke kumpulan data emas (subset data produksi) dengan menerapkan urutan file SQL secara berurutan.
greg
6

Hanya meminta spider pencarian untuk tidak mengindeks situs Anda adalah pertahanan yang sangat lemah, jika ada.

Cara yang biasa dilakukan untuk hal ini adalah sebagai berikut:

  • Saat dalam pengembangan, Anda menjalankan kode pada mesin pengembangan yang tidak dapat diakses dari luar LAN Anda, atau bahkan mungkin tidak dari mana pun kecuali mesin yang sama (localhost). Ini biasanya dilakukan dengan firewall, baik di tingkat jaringan (firewall LAN yang sebenarnya; jika perusahaan Anda bernilai apa pun, Anda memilikinya) atau secara lokal (firewall 'pribadi'). Selain itu, Anda dapat mengonfigurasi server apache lokal Anda untuk hanya menerima koneksi dari localhost (127.0.0.1).
  • Versi penerimaan (yaitu, versi berpasir untuk dicoba dan diuji oleh pelanggan) berjalan pada mesin yang identik dengan lingkungan produksi (sebanyak mungkin - beberapa detail konfigurasi harus berbeda); Anda membatasi akses yang mirip dengan yang Anda lakukan dengan lingkungan pengembangan, kecuali Anda juga memberikan akses ke jaringan pelanggan. Jika ini tidak mungkin (misalnya, karena pelanggan tidak memiliki IP khusus mereka sendiri, atau karena mereka tidak mau repot mencari tahu apa itu), Anda dapat mempertimbangkan untuk menambahkan otentikasi HTTP dan memberikan kata sandi kepada pelanggan; ini dapat dilakukan pada tingkat server web (yaitu, Apache), dengan satu peringatan: otentikasi HTTP melewati kawat tidak terenkripsi, jadi jika versi penerimaan berisi sesuatu yang rahasia,

Bagaimana Anda akan mengatur hal-hal ini: Jika Anda menjalankan layak * distribusi nix, ia datang dengan manajer paket ( apt, port-install, rpm, dll); gunakan ini untuk menginstal komponen yang Anda butuhkan, dan baca dokumentasi. Mintalah bantuan sysadmin jika Anda tidak dapat menemukannya sendiri.

tammmer
sumber
4

Untuk perayap sopan (mis. Mesin pencari utama), Anda dapat menawarkan /robots.txtfile dengan:

Agen pengguna: *
Larang: /

Tentu saja itu hanya saran, dan tidak akan melarang orang mengunjungi situs jika mereka tahu URL. Pendekatan yang lebih baik adalah meletakkan situs di belakang jenis login jika Anda memerlukan akses dari internet secara luas, atau hanya meng-host server di server web internal.

Greg Hewgill
sumber
1
Ini dan Greg (... Greg yang lain) menjawab semuanya dengan sangat sempurna.
Anonim
1

Dalam semangat "masuk dengan lebih banyak pengetahuan":

Html / Css dapat disembunyikan robots.txt, tetapi pastikan untuk mengubah file tersebut saat Anda mendorong situs ke produksi. robots.txttidak mencegah orang acak menebak situs web pengembangan (jika itu dapat dilihat oleh seluruh dunia).

.htaccessdapat digunakan untuk menambahkan kombo nama pengguna / kata sandi ke situs apa pun yang sedang dikembangkan.

Berikut adalah contoh bagaimana Anda dapat menggunakan VPN:

Semua permintaan pada VPN melalui firewall. Firewall itu (menjalankan beberapa perangkat lunak seperti pfSense ) memeriksa permintaan situs web dan melakukan pengalihan berdasarkan url. Misalnya, url http: //example.com.staging akan mengarahkan ke versi example.com di server pementasan Anda, dan url http: //example.com.development akan mengarah ke versi example.com di server pengembangan Anda.

Karena semua ini ada di VPN pribadi, tidak ada situs web ini yang dapat diakses dari dunia luar.

Juga, untuk memperjelas beberapa hal dengan pertanyaan awal Anda. Pekerjaan php / mysql sedang dilakukan di sisi server , sehingga perayap web, browser, dll. Tidak pernah melihat kode - mereka hanya melihat output dari kode (yaitu, jika Anda telah mengkonfigurasi server Anda dengan benar dan tidak melakukan rendering file .php sebagai teks).

Saya yakin saya salah membaca pertanyaan Anda, tetapi saya menemukan penggunaan frasa "penyimpanan lokal" tidak jelas. LocalStorage juga dapat merujuk pada teknologi HTML5 untuk menyimpan aset secara lokal di mesin klien. Ini tidak digunakan untuk rendering html / css, itu hanya datastore (browser membuat html / css). Penyimpanan lokal biasanya tidak ada hubungannya dengan bagaimana perusahaan membuat situs web tersembunyi dalam pengembangan.

File PHP dapat dilihat secara lokal jika Anda menjalankan server web pada mesin Anda dan file-file tersebut ada di direktori yang sesuai (biasanya htdocsdirektori jika menjalankan Apache).

CamelBlues
sumber
0

Mesin pencari berfungsi menggunakan spider : skrip yang merayapi web dari satu tautan ke tautan lainnya. Jika situs Anda baru dan tidak ada tautan ke sana dari tempat lain, tidak ada yang menemukan Anda. Itu, ditambah file robots.txt yang dikonfigurasikan untuk menjaga agar laba-laba yang entah bagaimana berkeliaran di situs Anda tidak menggunakannya, seharusnya sudah cukup.

Mason Wheeler
sumber