บริษัท ต่าง ๆ จะซ่อนเว็บไซต์เมื่ออยู่ในการพัฒนาอย่างไร


9

ฉันยังใหม่กับสิ่งนี้และยังเป็นนักพัฒนา PHP อายุ 19 ปีที่เพิ่งได้รับการว่าจ้างดังนั้นฉันไม่แน่ใจว่ามันทำงานอย่างไร บริษัท จำนวนมากเมื่อพัฒนาเว็บไซต์ทำให้เว็บไซต์ของพวกเขาถูกซ่อนไว้ไม่ให้ถูกจัดทำดัชนี html5 / css มีวิธีใดบ้างและ php / mysql ทำงานถูกซ่อนจากเครื่องมือค้นหา หากฉันไม่ผิดนี่เป็นเทคนิค:

  1. การพัฒนาแบบออฟไลน์: ใช้ที่จัดเก็บในตัวเครื่องเพื่อแสดงผล html / css; ไม่แน่ใจว่า PHP / mysql จะทำงานอย่างไร

  2. ใช้. htaccess เพื่อป้องกันการเข้าถึง

  3. ใช้ VPN เพื่อป้องกันการเข้าถึง


1
ทางออกที่ดีที่สุดเมื่อเป็นไปได้คือให้มีเซิร์ฟเวอร์ทดสอบที่สมบูรณ์เหมือนกับเซิร์ฟเวอร์ที่ใช้งานจริง และแม้กระทั่งในกรณีนี้อาจมีเรื่องที่น่าประหลาดใจที่คาดไม่ถึง ...
Avio

ถ้าคุณต้องการพัฒนา php แบบเต็ม ๆ ลองดูที่easyphp.orgมันเป็นโปรแกรมติดตั้งง่าย ๆ ที่จะได้รับ Apache Web Server, MySQL db และ PHP ติดตั้งและตั้งค่าบนเดสก์ท็อป windows ของคุณ
Alan Barber

คำตอบ:


20

แนวทางปฏิบัติที่ดีที่สุดคือการประมาณค่าสแต็คการผลิตบนเครื่องนักพัฒนาท้องถิ่นของคุณ ซึ่งรวมถึงฐานข้อมูลเว็บเซิร์ฟเวอร์และรหัสที่คุณกำหนดเอง ทำการพัฒนาทั้งหมดของคุณที่นั่น อย่าแก้ไขรหัสบนเซิร์ฟเวอร์ที่ใช้งานจริง

เมื่อผู้มีส่วนได้เสียทางธุรกิจของคุณพร้อมสำหรับการใช้งานจริงให้ส่งรหัสของคุณจากเครื่องท้องถิ่นไปยังเซิร์ฟเวอร์ที่ใช้งานจริง คุณอาจใช้เซิร์ฟเวอร์ทดสอบเพื่อให้ผู้มีส่วนได้เสียภายในสามารถดูตัวอย่างการเปลี่ยนแปลงของคุณก่อนที่จะเผยแพร่

คุณควรแน่ใจว่าใช้ระบบควบคุมเวอร์ชันเพื่อจัดการรหัสของคุณ Git และ Mercurial เป็นตัวเลือกที่แข็งแกร่ง


เฮ้เกร๊กมีลิงค์ที่คุณสามารถชี้ให้ฉันดูได้หรือไม่ว่าจะทำสิ่งเหล่านี้ได้ไหม? การเข้ารหัสทั้งหมดที่ฉันรู้คือจากการเรียนรู้ด้วยตัวเองดังนั้นครั้งแรกที่ฉันทำงานที่ บริษัท แม้ว่าพวกเขาจะบอกว่ามันจะเป็นสภาพแวดล้อมการเรียนรู้สำหรับฉันและพวกเขาก็โอเคกับสิ่งนั้น แต่ฉันต้องการเข้าไปด้วยความรู้ให้มากที่สุด จะขอบคุณมันจริงๆ
ariel

รูปแบบนี้เรียกว่า "พื้นที่ทำงานส่วนตัว" เว็บไซต์informit.com/articles/article.aspx?p=30350ดูเหมือนจะมีภาพรวมที่สมเหตุสมผล
เกอร์

นอกจากนี้คุณอาจจะไม่เคยพบสูตรที่แน่นอนสำหรับสถานการณ์ของคุณ คุณควรสามารถระบุแต่ละระบบย่อยในสภาพแวดล้อมการใช้งานจริงของคุณและค้นหาความช่วยเหลือในการติดตั้งเพื่อนำมาใช้กับเวิร์กสเตชันท้องถิ่นของคุณ
เกร็ก

และในขณะที่คุณอยู่ที่นี่แหล่งควบคุมฐานข้อมูลของคุณเช่นกัน!
HLGEM

หนึ่งในงานก่อนหน้าของฉันกระบวนการสร้างอัตโนมัติของเราใช้ประวัติทั้งหมดของการย้ายข้อมูลไปยังชุดข้อมูลทองคำ (ชุดย่อยของข้อมูลการผลิต) โดยใช้ลำดับของไฟล์ SQL อย่างต่อเนื่อง
เกอร์

6

เพียงแค่ขอให้สไปเดอร์การค้นหาทำดัชนีเว็บไซต์ของคุณเป็นการป้องกันที่อ่อนแอมาก ๆ ถ้ามี

วิธีปกติในการไปเกี่ยวกับเรื่องนี้มีดังนี้:

  • ในระหว่างการพัฒนาคุณเรียกใช้รหัสบนเครื่องที่ไม่สามารถเข้าถึงได้จากภายนอก LAN ของคุณหรืออาจไม่ได้มาจากที่ใดก็ได้ยกเว้นเครื่องเดียวกัน (localhost) สิ่งนี้มักจะทำกับไฟร์วอลล์ทั้งที่ระดับเครือข่าย (ไฟร์วอลล์ LAN จริงหาก บริษัท ของคุณมีค่าอะไรคุณก็มี) หรือภายใน (ไฟร์วอลล์ 'ส่วนตัว') นอกจากนี้คุณสามารถกำหนดค่าเซิร์ฟเวอร์ Apache ในเครื่องของคุณให้ยอมรับเฉพาะการเชื่อมต่อจาก localhost (127.0.0.1)
  • เวอร์ชันการยอมรับ (เช่นเวอร์ชัน sandboxed สำหรับลูกค้าที่จะลองและทดสอบ) ทำงานบนเครื่องที่เหมือนกับสภาพแวดล้อมการผลิต (มากที่สุด - รายละเอียดการกำหนดค่าบางอย่างจะต้องแตกต่างกัน); คุณ จำกัด การเข้าถึงคล้ายกับที่คุณทำกับสภาพแวดล้อมการพัฒนายกเว้นคุณให้สิทธิ์การเข้าถึงเครือข่ายของลูกค้า หากไม่สามารถทำได้ (เช่นเนื่องจากลูกค้าไม่มี IP เฉพาะของตนเองหรือเพราะพวกเขาไม่สามารถทราบได้ว่ามันคืออะไร) คุณอาจพิจารณาเพิ่มการรับรองความถูกต้อง HTTP และให้รหัสผ่านแก่ลูกค้า สิ่งนี้สามารถทำได้ในระดับเว็บเซิร์ฟเวอร์ (เช่น Apache) โดยมีหนึ่ง caveats: การรับรองความถูกต้อง HTTP ไปที่ wire unencrypted ดังนั้นหากเวอร์ชันการยอมรับมีสิ่งที่เป็นความลับจากระยะไกล

เป็นวิธีการที่คุณต้องการกำหนดสิ่งเหล่านี้ขึ้น: ถ้าคุณเรียกใช้การกระจายระวัง * ดีจะมาพร้อมกับแพคเกจผู้จัดการ ( apt, port-install, rpmฯลฯ ); ใช้สิ่งนี้เพื่อติดตั้งส่วนประกอบที่คุณต้องการและอ่านเอกสารประกอบ ขอดูแลระบบหากคุณไม่สามารถเข้าใจได้


4

สำหรับโปรแกรมรวบรวมข้อมูลที่สุภาพ (เช่นเครื่องมือค้นหาสำคัญ ๆ ) คุณสามารถเสนอ/robots.txtไฟล์ด้วย:

ตัวแทนผู้ใช้: *
ไม่อนุญาต: /

แน่นอนว่าเป็นคำแนะนำเท่านั้นและจะไม่ห้ามไม่ให้ผู้คนเข้าเยี่ยมชมเว็บไซต์หากพวกเขารู้จัก URL วิธีที่ดีกว่าคือการวางเว็บไซต์ไว้เบื้องหลังการเข้าสู่ระบบบางประเภทหากคุณต้องการเข้าถึงจากอินเทอร์เน็ตที่มีขนาดใหญ่หรือเพียงแค่โฮสต์เซิร์ฟเวอร์บนเว็บเซิร์ฟเวอร์ภายใน


1
คำตอบนี้กับ Greg (... Greg อีกคน) สรุปทุกอย่างเข้าด้วยกันอย่างสมบูรณ์แบบ
ไม่ประสงค์ออกนาม

1

ด้วยจิตวิญญาณของ "การมีความรู้มากขึ้น":

Html / Css สามารถซ่อนได้robots.txtแต่ต้องแน่ใจว่าได้เปลี่ยนไฟล์เหล่านั้นเมื่อคุณผลักดันเว็บไซต์ให้ผลิต robots.txtไม่ได้ป้องกันบางคนที่คาดเดาเว็บไซต์พัฒนา (ถ้ามันสามารถมองเห็นได้ทั่วโลก)

.htaccessสามารถใช้เพื่อเพิ่มคำสั่งผสมชื่อผู้ใช้ / รหัสผ่านให้กับเว็บไซต์ที่กำลังพัฒนา

นี่คือตัวอย่างของวิธีที่คุณสามารถใช้ VPN:

คำขอทั้งหมดบน VPN ผ่านไฟร์วอลล์ ไฟร์วอลล์นั้น (ใช้งานซอฟต์แวร์บางตัวเช่นpfSense ) ตรวจสอบคำขอเว็บไซต์และทำการเปลี่ยนเส้นทางบางอย่างตาม URL ตัวอย่างเช่น URL http: //example.com.stagingจะตรงไปที่เวอร์ชันของ example.com บนเซิร์ฟเวอร์ staging ของคุณและ URL ของhttp: //example.com.developmentจะไปยังเวอร์ชันของ example.com บนเซิร์ฟเวอร์การพัฒนาของคุณ

เนื่องจากทั้งหมดนี้เป็น VPN ส่วนตัวจึงไม่สามารถเข้าถึงเว็บไซต์เหล่านี้ได้จากโลกภายนอก

นอกจากนี้เพื่อชี้แจงบางสิ่งบางอย่างด้วยคำถามเดิมของคุณ การทำงานของ php / mysql เสร็จสิ้นแล้วฝั่งเซิร์ฟเวอร์ดังนั้นโปรแกรมรวบรวมข้อมูลเว็บเบราว์เซอร์ ฯลฯ จึงไม่เห็นรหัส - พวกเขาเห็นเฉพาะผลลัพธ์ของรหัส (นั่นคือถ้าคุณกำหนดค่าเซิร์ฟเวอร์ของคุณอย่างถูกต้องและไม่แสดงผล ไฟล์. php เป็นข้อความ)

ฉันแน่ใจว่าฉันอ่านคำถามของคุณผิด แต่ฉันพบว่าการใช้วลี "local storage" ของคุณนั้นคลุมเครือ LocalStorageยังสามารถอ้างถึงเทคโนโลยี HTML5 สำหรับจัดเก็บเนื้อหาในเครื่องของลูกค้า มันไม่ได้ใช้สำหรับการแสดงผล html / css มันเป็นเพียงที่เก็บข้อมูล (เบราว์เซอร์แสดงผล html / css) ที่เก็บข้อมูลในเครื่องโดยทั่วไปไม่มีส่วนเกี่ยวข้องกับวิธีที่ บริษัท ต่างๆซ่อนเว็บไซต์ไว้ในการพัฒนา

ไฟล์ PHP สามารถดูได้ในเครื่องหากคุณใช้งานเว็บเซิร์ฟเวอร์บนเครื่องของคุณและไฟล์นั้นอยู่ในไดเรกทอรีที่เหมาะสม (โดยปกติจะเป็นhtdocsไดเรกทอรีหากใช้ Apache)


0

เครื่องมือค้นหาทำงานโดยใช้สไปเดอร์ : สคริปต์ที่รวบรวมข้อมูลเว็บจากลิงค์หนึ่งไปยังอีกลิงค์หนึ่ง หากไซต์ของคุณเป็นเว็บไซต์ใหม่และไม่มีลิงก์ไปยังที่อื่น ๆ คุณจะไม่พบสิ่งใด รวมทั้งไฟล์ robots.txt ที่กำหนดค่าไว้เพื่อป้องกันไม่ให้สไปเดอร์ใด ๆ ที่ไม่ได้ท่องไปในไซต์ของคุณอย่างเพียงพอ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.