विकास के दौरान कंपनियां कैसे वेबसाइटों को छिपाए रखती हैं?


9

मैं इस के लिए नया हूँ और एक नया 19 वर्षीय PHP डेवलपर भी है जिसे अभी काम पर रखा गया है इसलिए मैं अनिश्चित हूं कि यह कैसे काम करता है। कई कंपनियां जब अपनी वेबसाइट विकसित करती हैं तो अपनी साइटों को अनुक्रमित होने से छिपा कर रखती हैं। HTML5 / css के कुछ तरीके क्या हैं और फिर php / mysql का काम सर्च इंजनों से छिपा है? अगर मैं गलत नहीं हूं, तो ये तकनीकें हैं:

  1. ऑफ़लाइन विकास: HTML / css को रेंडर करने के लिए स्थानीय भंडारण का उपयोग करना; निश्चित नहीं है कि PHP / mysql उस के साथ कैसे काम करेगा।

  2. पहुँच को रोकने के लिए .htaccess का उपयोग करना

  3. पहुंच को रोकने के लिए वीपीएन का उपयोग करना।


1
सबसे अच्छा समाधान, जब संभव हो, हमेशा एक परीक्षण सर्वर पूरी तरह से उत्पादन सर्वर के समान होता है। और इस मामले में भी अप्रत्याशित आश्चर्य हो सकता है ...
एवियो

यदि आप पूर्ण स्थानीय php विकास करना चाहते हैं तो easyphp.org पर एक नज़र डालें। यह सरल इंस्टॉलर है जो अपाचे वेब सर्वर, MySQL db और PHP स्थापित करेगा और आपके विंडोज़ डेस्कटॉप पर कॉन्फ़िगर किया जाएगा।
एलन नाई

जवाबों:


20

सबसे अच्छा अभ्यास अपने स्थानीय डेवलपर मशीन पर उत्पादन स्टैक का एक अनुमान है। इसमें आमतौर पर डेटाबेस, वेब सर्वर और आपका अनुकूलित कोड शामिल होता है। अपना सारा विकास वहीं करते हैं। उत्पादन सर्वर पर कोड को कभी संपादित न करें।

जब आपके व्यवसाय हितधारक कार्यक्षमता के लिए तैयार रहते हैं, तो अपने स्थानीय मशीन से अपने कोड को उत्पादन सर्वर पर धकेल दें। आप एक परीक्षण सर्वर का उपयोग कर सकते हैं ताकि आंतरिक हितधारक आपके बदलावों का लाइव देखने से पहले पूर्वावलोकन कर सकें।

आपको अपने कोड को प्रबंधित करने के लिए एक संस्करण नियंत्रण प्रणाली का उपयोग करना सुनिश्चित करना चाहिए। Git और Mercurial ठोस विकल्प हैं।


हे greg, क्या कोई लिंक है जो आप मुझे बता सकते हैं कि मुझे पता है कि इन चीजों को कैसे करना है? मुझे पता है कि सभी कोडिंग इसे स्वयं सीखने से है और इसलिए पहली बार मैं एक कंपनी में काम कर रहा हूं, हालांकि उन्होंने कहा कि यह मेरे लिए सीखने का माहौल होगा और वे इसके साथ ठीक हैं, लेकिन मैं जितना संभव हो उतना ज्ञान के साथ जाना चाहता हूं। वास्तव में इसकी सराहना करेंगे।
एरियल

इस पैटर्न को "निजी कार्यक्षेत्र" कहा जाता है। साइट Informit.com/articles/article.aspx?p=30350 पर एक उचित अवलोकन किया गया है।
ग्रेग

इसके अलावा, आप शायद अपनी स्थिति के लिए एक सटीक नुस्खा कभी नहीं पाएंगे। आपको अपने उत्पादन वातावरण में प्रत्येक उपप्रणालियों की पहचान करने और उन्हें अपने स्थानीय कार्य केंद्र पर स्थापित करने में सहायता प्राप्त करने में सक्षम होना चाहिए।
ग्रेग

और जब आप इस पर होते हैं, तो स्रोत आपके डेटबेस को भी नियंत्रित करता है!
HLGEM

मेरी पिछली नौकरियों में हमारी स्वचालित निर्माण प्रक्रिया ने उत्तराधिकार में एसक्यूएल फाइलों के अनुक्रम को लागू करके एक स्वर्ण डेटा सेट (उत्पादन डेटा का एक सबसेट) के लिए डेटा माइग्रेशन के पूरे इतिहास को लागू किया।
ग्रेग

6

कृपया अपनी साइट को अनुक्रमित नहीं करने के लिए खोज मकड़ियों से पूछें, यदि कोई हो, तो यह बहुत कमजोर प्रतिरक्षा है।

इसके बारे में जाने का सामान्य तरीका इस प्रकार है:

  • विकास में रहते हुए, आप एक ऐसी विकास मशीन पर कोड चलाते हैं जो आपके LAN के बाहर से पहुँच योग्य नहीं है, या संभवत: उसी मशीन (लोकलहोस्ट) को छोड़कर कहीं से भी नहीं। यह आमतौर पर एक फ़ायरवॉल के साथ किया जाता है, या तो नेटवर्क स्तर पर (एक वास्तविक LAN फ़ायरवॉल; यदि आपकी कंपनी कुछ भी लायक है, तो आपके पास एक है) या स्थानीय रूप से (एक 'व्यक्तिगत' फ़ायरवॉल)। इसके अलावा, आप अपने स्थानीय अपाचे सर्वर को केवल स्थानीयहोस्ट (127.0.0.1) से कनेक्शन स्वीकार करने के लिए कॉन्फ़िगर कर सकते हैं।
  • स्वीकृति संस्करण (यानी, ग्राहक के लिए सैंडबॉक्स वाला संस्करण जिसे आज़माने और परीक्षण करने के लिए) एक मशीन पर चलता है जो उत्पादन वातावरण के समान है (जितना संभव हो - कुछ कॉन्फ़िगरेशन विवरण अलग होना होगा); आप विकास के माहौल के साथ कैसे करते हैं, के समान पहुंच को सीमित करते हैं, सिवाय इसके कि आप ग्राहक के नेटवर्क तक पहुंच प्रदान करते हैं। यदि यह संभव नहीं है (उदाहरण के लिए, क्योंकि ग्राहक के पास अपना स्वयं का समर्पित आईपी नहीं है, या क्योंकि उन्हें पता नहीं चल सकता है कि यह क्या है), तो आप HTTP प्रमाणीकरण जोड़ने और ग्राहक को पासवर्ड देने पर विचार कर सकते हैं; यह वेब सर्वर स्तर (यानी, अपाचे) पर किया जा सकता है, एक केवेट के साथ: HTTP प्रमाणीकरण तार रहित पर जाता है, इसलिए यदि स्वीकृति संस्करण में कुछ भी गोपनीय रूप से गोपनीय है,

कैसे आप इन बातों को सेट करेंगे करने के लिए के रूप में: आप एक सभ्य * nix वितरण चलाते हैं, तो यह एक पैकेज प्रबंधक (के साथ आता है apt, port-install, rpm, आदि); इसका उपयोग उन घटकों को स्थापित करने के लिए करें जिनकी आपको आवश्यकता है, और प्रलेखन पढ़ें। मदद के लिए एक sysadmin से पूछें कि क्या आप इसे खुद नहीं समझ सकते।


4

विनम्र क्रॉलर (अर्थात कोई भी प्रमुख खोज इंजन) के लिए, आप एक /robots.txtफ़ाइल दे सकते हैं :

उपभोक्ता अभिकर्ता: *
अस्वीकार करें: /

बेशक, जो केवल सलाहकार है, और यदि वे URL जानते हैं तो लोगों को वास्तव में साइट पर जाने से मना नहीं करेंगे। एक बेहतर तरीका यह है कि साइट को किसी तरह के लॉगिन के पीछे रखा जाए, अगर आपको बड़े पैमाने पर इंटरनेट से पहुंच की आवश्यकता है, या बस सर्वर को आंतरिक वेब सर्वर पर होस्ट करें।


1
यह और ग्रेग (... अन्य ग्रेग) का जवाब है सब कुछ बहुत पूरी तरह से पूरी तरह से।
अनाम

1

"अधिक ज्ञान के साथ" जाने की भावना में:

एचटीएमएल / सीएसएस के साथ छिपाया जा सकता है robots.txt, लेकिन उन फ़ाइलों को बदलना सुनिश्चित करें जब आप साइट को उत्पादन के लिए धक्का देते हैं। robots.txtकुछ बेतरतीब व्यक्ति को विकास वेबसाइट का अनुमान लगाने से नहीं रोकता है (यदि यह पूरी दुनिया को दिखाई देता है)।

.htaccessविकसित की जा रही किसी भी साइट पर उपयोगकर्ता नाम / पासवर्ड कॉम्बो जोड़ने के लिए इस्तेमाल किया जा सकता है।

यहाँ एक उदाहरण है कि आप वीपीएन का उपयोग कैसे कर सकते हैं:

वीपीएन पर सभी अनुरोध एक फ़ायरवॉल के माध्यम से जाते हैं। वह फ़ायरवॉल ( pfSense जैसे कुछ सॉफ़्टवेयर चला रहा है ) वेबसाइट के अनुरोधों की जाँच करता है और url के आधार पर कुछ पुनर्निर्देशन करता है। उदाहरण के लिए, url http: //example.com.staging आपके स्टेजिंग सर्वर पर example.com के संस्करण को निर्देशित करेगा, और http: //example.com.development का उदाहरण example.com के संस्करण को दिशा देगा अपने विकास सर्वर पर।

चूंकि यह सब एक निजी वीपीएन पर है, इसलिए इनमें से कोई भी वेबसाइट बाहरी दुनिया से सुलभ नहीं है।

इसके अलावा, अपने मूल प्रश्न के साथ कुछ बातें स्पष्ट करने के लिए। Php / mysql का काम सर्वर साइड से हो रहा है , इसलिए वेब क्रॉलर, ब्राउज़र आदि कभी भी कोड नहीं देखते हैं - वे केवल कोड का आउटपुट देखते हैं (यदि आपने अपने सर्वर को सही तरीके से कॉन्फ़िगर किया है और रेंडर नहीं कर रहे हैं .php फ़ाइलें पाठ के रूप में)।

मुझे यकीन है कि मैंने आपके सवाल को गलत कर दिया है, लेकिन मुझे "स्थानीय भंडारण" वाक्यांश का उपयोग अस्पष्ट लगा। लोकलस्टोरेज स्थानीय रूप से क्लाइंट की मशीन पर संपत्ति के भंडारण के लिए एचटीएमएल 5 तकनीक का भी उल्लेख कर सकता है। इसका उपयोग html / css रेंडर करने के लिए नहीं किया जाता है, यह केवल एक datastore है (ब्राउज़र html / css को प्रस्तुत करता है)। स्थानीय भंडारण का आम तौर पर कुछ नहीं होता है कि कंपनियां विकास में वेबसाइटों को कैसे छिपाए रखती हैं।

यदि आप अपनी मशीन पर एक वेब सर्वर चला रहे हैं और उचित निर्देशिकाओं में फाइलें हैं (आमतौर पर htdocsनिर्देशिका अगर एपर्ल चल रही है) तो PHP फाइलें स्थानीय रूप से देखी जा सकती हैं ।


0

खोज इंजन मकड़ियों का उपयोग करके काम करते हैं : स्क्रिप्ट जो वेब को एक लिंक से दूसरे लिंक पर क्रॉल करते हैं। यदि आपकी साइट नई है और इसके लिए कोई लिंक कहीं और से मौजूद है, तो कुछ भी आपको खोजने वाला नहीं है। वह, प्लस किसी भी मकड़ी को रखने के लिए कॉन्फ़िगर की गई एक robots.txt फ़ाइल जो किसी भी तरह से आपकी साइट पर भटकने से भटकती है, पर्याप्त होनी चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.