Şirketler geliştirme aşamasında web sitelerini nasıl gizli tutar?


9

Ben bu yeni ve aynı zamanda nasıl işe yaradığından emin değilim, bu yüzden sadece işe yeni 19 yaşındaki bir PHP geliştirici. Birçok şirket web sitelerini geliştirirken, sitelerinin dizine alınmasını gizli tutar. Html5 / css ve sonra php / mysql iş arama motorlarından gizlenmiş bazı yolları nelerdir? Eğer yanılmıyorsam, bunlar teknikler:

  1. Çevrimdışı geliştirme: html / css oluşturmak için yerel depolamayı kullanma; PHP / mysql bununla nasıl çalışacağından emin değilim.

  2. Erişimi önlemek için .htaccess kullanma

  3. Erişimi önlemek için VPN kullanma.


1
En iyi çözüm, mümkün olduğunda, her zaman üretim sunucusuyla tamamen aynı olan bir test sunucusuna sahip olmaktır. Ve bu durumda bile beklenmedik sürprizler olabilir ...
Avio

Tam yerel php geliştirme yapmak istiyorsanız easyphp.org bir göz atın Apache Web Sunucusu, MySQL db ve PHP Windows masaüstünüzde yüklü ve yapılandırılmış olacak basit yükleyici.
Alan Barber

Yanıtlar:


20

En iyi uygulama, yerel geliştirici makinenizdeki üretim yığınına yaklaşmaktır. Bu genellikle veritabanını, web sunucusunu ve özelleştirilmiş kodunuzu içerir. Tüm gelişiminizi orada yapın. Üretim sunucusundaki kodu asla düzenlemeyin.

İş paydaşlarınız işlevsellik yayınlanmaya hazır olduğunda, kodunuzu yerel makinenizden üretim sunucusuna aktarın. Dahili paydaşların yayınlanmadan önce değişikliklerinizi önizleyebilmesi için bir test sunucusu kullanabilirsiniz.

Kodunuzu yönetmek için bir sürüm kontrol sistemi kullandığınızdan emin olmalısınız. Git ve Mercurial sağlam seçeneklerdir.


Hey greg, bana bu şeyleri nasıl yapacağımı gösteren bir bağlantı var mı? bildiğim tüm kodlama kendim öğrenmektir ve bu yüzden benim için bir öğrenme ortamı olacağını söylediler ama ben bir şirkette çalışıyorum ilk kez ve onlar ile tamam ama mümkün olduğunca fazla bilgi ile gitmek istiyorum. Gerçekten takdir ediyorum.
ariel

Bu desene "özel çalışma alanı" denir. İnformit.com/articles/article.aspx?p=30350 sitesinin makul bir genel bakışı var gibi görünüyor.
greg

Ayrıca muhtemelen asla durumunuz için tam bir tarif bulamazsınız. Üretim ortamınızdaki alt sistemlerin her birini tanımlayabilmeli ve yerel iş istasyonunuza almak için kurulum yardımı bulabilmeniz gerekir.
greg

Ve siz bu sırada datbase'inizi de kontrol edin!
HLGEM

Önceki işlerimden birinde otomatik derleme sürecimiz, bir dizi SQL dosyasını arka arkaya uygulayarak veri taşıma geçmişinin tamamını altın veri kümesine (üretim verilerinin bir alt kümesi) uyguladı.
greg

6

Yalnızca arama örümceklerinden sitenizi dizine eklememelerini istemek çok zayıf bir savunmadır.

Bu konuda normal yol aşağıdaki gibidir:

  • Geliştirme sırasında, kodu LAN'ınızın dışından erişilemeyen veya muhtemelen aynı makine (localhost) dışındaki herhangi bir yerden bile olmayan bir geliştirme makinesinde çalıştırırsınız. Bu genellikle ağ düzeyinde (gerçek bir LAN güvenlik duvarı; şirketiniz hiçbir şeye değerse, bir tane var) veya yerel olarak ('kişisel' güvenlik duvarı) olan bir güvenlik duvarı ile yapılır. Ayrıca, yerel apache sunucunuzu yalnızca localhost'tan bağlantıları kabul edecek şekilde yapılandırabilirsiniz (127.0.0.1).
  • Kabul sürümü (yani, müşterinin denemesi ve test etmesi için korumalı alanlı bir sürüm), üretim ortamıyla aynı olan bir makinede çalışır (mümkün olduğunca - bazı yapılandırma ayrıntılarının farklı olması gerekir); müşterinin ağına erişim izni vermeniz dışında erişimi geliştirme ortamıyla yaptığınız gibi sınırlarsınız. Bu mümkün değilse (örneğin, müşterinin kendi özel IP'si olmadığı veya ne olduğunu anlamaya zahmet edemediği için), HTTP kimlik doğrulaması eklemeyi ve müşteriye bir şifre vermeyi düşünebilirsiniz; bu, web sunucusu düzeyinde (yani Apache) bir uyarı ile yapılabilir: HTTP kimlik doğrulaması şifrelenmemiş kablo üzerinden geçer, bu nedenle kabul sürümü uzaktan gizli bir şey içeriyorsa,

Bunları kurmak istiyorum nasıl gelince: Eğer iyi bir * Nix dağılımını çalıştırırsanız, bir paket yöneticisi (ile gelir apt, port-install, rpmvs.); ihtiyacınız olan bileşenleri kurmak için bunu kullanın ve belgeleri okuyun. Kendiniz anlayamıyorsanız bir sistem yöneticisinden yardım isteyin.


4

Kibar tarayıcılar (örneğin, herhangi bir büyük arama motoru) için aşağıdakileri içeren bir /robots.txtdosya sunabilirsiniz :

Kullanıcı aracısı: *
İzin verme: /

Tabii ki bu sadece tavsiye niteliğindedir ve URL'yi bildikleri takdirde kullanıcıların siteyi gerçekten ziyaret etmesine izin vermeyecektir. Daha iyi bir yaklaşım, internetten genel olarak erişmeniz gerekiyorsa veya sunucuyu dahili bir web sunucusunda barındırmanız gerekiyorsa, siteyi bir tür girişin arkasına koymaktır.


1
Bu ve Greg (... diğer Greg) 'in cevabı her şeyi mükemmel bir şekilde özetliyor.
İsimsiz

1

"Daha fazla bilgi ile girme" ruhuyla:

Html / Css ile gizlenebilir robots.txt, ancak siteyi üretime ittiğinizde bu dosyaları değiştirdiğinizden emin olun. robots.txtgelişmekte olan web sitesini tahmin eden bazı rastgele kişileri engellemez (tüm dünya tarafından görülebilirse).

.htaccessgeliştirilmekte olan herhangi bir siteye bir kullanıcı adı / şifre kombinasyonu eklemek için kullanılabilir .

VPN'i nasıl kullanabileceğinize ilişkin bir örnek:

VPN'deki tüm istekler bir güvenlik duvarından geçer. Bu güvenlik duvarı ( pfSense gibi bazı yazılımları çalıştırır ) web sitesi isteklerini inceler ve url'ye göre bazı yeniden yönlendirmeler yapar. Örneğin, http: //example.com.staging URL'si , hazırlama sunucunuzdaki example.com sürümüne yönlendirilir ve http: //example.com.development URL'si , example.com sürümüne yönlendirir geliştirme sunucunuzda.

Tüm bunlar özel bir VPN'de olduğundan, bu web sitelerinin hiçbirine dış dünyadan erişilemez.

Ayrıca, orijinal sorunuzla bazı şeyleri açıklığa kavuşturmak için. Php / mysql işi sunucu tarafında yapılıyor , bu yüzden web tarayıcıları, tarayıcılar vb. Kodu asla görmezler - sadece kodun çıktısını görürler (yani, sunucunuzu doğru yapılandırdıysanız ve oluşturmadıysanız) metin olarak .php dosyaları).

Sorunuzu yanlış okuduğuma eminim, ancak "yerel depolama" ifadesini kullanımınızı belirsiz buldum. LocalStorage ayrıca, varlıkları bir istemcinin makinesinde yerel olarak depolamak için bir HTML5 teknolojisine de başvurabilir. Html / css oluşturmak için kullanılmaz, sadece bir veri deposudur (tarayıcı html / css oluşturur). Yerel depolamanın genellikle şirketlerin web sitelerini geliştirme sırasında nasıl gizlediğiyle ilgisi yoktur.

Makinenizde bir web sunucusu çalıştırıyorsanız ve dosyalar uygun dizinlerde ise (genellikle htdocsApache çalıştırılıyorsa dizin) PHP dosyaları yerel olarak görüntülenebilir .


0

Arama motorları, örümcekleri kullanarak çalışır : web'i bir bağlantıdan diğerine tarayan komut dosyaları. Siteniz yeniyse ve başka bir yerden herhangi bir bağlantı yoksa, hiçbir şey sizi bulamaz. Bunun yanı sıra, sitenizde bir şekilde dolaşan örümcekleri incelemek için yapılandırılmış bir robots.txt dosyası yeterli olmalıdır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.