개발 중에 회사가 웹 사이트를 숨기는 방법은 무엇입니까?


9

나는 이것에 익숙하지 않고 방금 고용 된 새로운 19 세의 PHP 개발자이므로 이것이 어떻게 작동하는지 확신 할 수 없습니다. 웹 사이트를 개발할 때 많은 회사들이 자신의 사이트를 숨겨 놓지 못하게합니다. html5 / css와 php / mysql 작업이 검색 엔진에 숨겨져있는 방법에는 어떤 것이 있습니까? 내가 틀리지 않으면 다음과 같은 기술입니다.

  1. 오프라인 개발 : 로컬 저장소를 사용하여 html / css 렌더링; PHP / mysql이 어떻게 작동하는지 확실하지 않습니다.

  2. .htaccess를 사용하여 액세스 방지

  3. VPN을 사용하여 액세스를 방지합니다.


1
가능하면 최상의 솔루션은 항상 테스트 서버를 프로덕션 서버와 완전히 동일하게하는 것입니다. 그리고이 경우에도 예기치 않은 놀라움이있을 수 있습니다 ...
Avio

전체 로컬 PHP 개발을 원한다면 easyphp.org를 살펴보십시오. 간단한 설치 프로그램으로 Apache 웹 서버, MySQL db 및 PHP가 Windows 바탕 화면에 설치 및 구성됩니다.
Alan Barber

답변:


20

가장 좋은 방법은 로컬 개발자 컴퓨터에 대략적인 프로덕션 스택을 두는 것입니다. 여기에는 일반적으로 데이터베이스, 웹 서버 및 사용자 정의 코드가 포함됩니다. 거기에서 모든 개발을 수행하십시오. 프로덕션 서버에서 코드를 편집하지 마십시오.

비즈니스 이해 관계자가 기능을 실제로 사용할 준비가되면 코드를 로컬 컴퓨터에서 프로덕션 서버로 푸시하십시오. 테스트 서버를 사용하여 내부 이해 당사자가 변경 사항을 실시간으로 미리 볼 수 있습니다.

코드를 관리하려면 버전 관리 시스템을 사용해야합니다. 힘내와 머큐리얼은 확실한 옵션입니다.


그렉,이 일을 어떻게하는지 보여줄 수있는 링크가 있습니까? 내가 아는 모든 코딩은 스스로 배우는 것이므로 처음으로 회사에서 일하고 있지만 그들이 나를 위해 학습 환경이 될 것이라고 말했지만 그들은 그것에 만족하지만 가능한 한 많은 지식을 가지고 가고 싶습니다. 정말 감사하겠습니다.
ariel

이 패턴을 "개인 작업 공간"이라고합니다. informit.com/articles/article.aspx?p=30350 사이트 는 합리적인 개요를 가지고있는 것 같습니다.
greg

또한 상황에 맞는 정확한 요리법을 찾지 못할 것입니다. 프로덕션 환경에서 각 서브 시스템을 식별하고 로컬 워크 스테이션에서이를 얻는 데 도움이되는 설치 도움말을 찾을 수 있어야합니다.
greg

그리고 당신이 그것에있는 동안, 당신의 datbase를 소스 제어하십시오!
HLGEM

이전 작업 중 하나에서 자동화 된 빌드 프로세스는 일련의 SQL 파일을 연속적으로 적용하여 전체 데이터 마이그레이션 기록을 골드 데이터 세트 (생산 데이터의 하위 세트)에 적용했습니다.
greg

6

검색 스파이더에게 사이트 색인을 생성하지 말라고 요청하는 것은 매우 약한 방어 수단입니다.

이에 대한 일반적인 방법은 다음과 같습니다.

  • 개발 중에는 LAN 외부에서 액세스 할 수 없거나 동일한 시스템 (localhost) 이외의 다른 곳에서는 액세스 할 수없는 개발 시스템에서 코드를 실행합니다. 일반적으로 방화벽은 네트워크 수준 (실제 LAN 방화벽, 회사에 가치가있는 경우) 또는 로컬 ( '개인'방화벽) 방화벽으로 수행됩니다. 또한 로컬 호스트 (127.0.0.1)의 연결 만 수락하도록 로컬 아파치 서버를 구성 할 수 있습니다.
  • 수락 버전 (즉, 고객이 시험하고 테스트 할 수있는 샌드 박스 버전)은 프로덕션 환경과 동일한 시스템에서 실행됩니다 (가능한 경우-일부 구성 세부 사항은 달라야 함). 고객의 네트워크에 대한 액세스 권한도 부여한다는 점을 제외하고 개발 환경에서 수행 한 방식과 유사한 액세스를 제한합니다. 이것이 가능하지 않은 경우 (예를 들어, 고객에게 전용 IP가 없거나 고객이 무엇인지 파악할 수 없기 때문에) HTTP 인증을 추가하고 고객에게 비밀번호를 제공하는 것을 고려할 수 있습니다. 이는 웹 서버 수준 (예 : Apache)에서 한 가지 경고를 통해 수행 할 수 있습니다. HTTP 인증은 암호화되지 않은 상태로 전송되므로 수락 버전에 원격 기밀 정보가 포함 된 경우,

당신이이 일을 설정하는 것입니다 방법에 관해서는 : 당신이 괜찮은 * nix에서 스크립트 배포를 실행하면 패키지 관리자 (함께 제공 apt, port-install, rpm, 등); 이를 사용하여 필요한 구성 요소를 설치하고 설명서를 읽으십시오. 스스로 알아낼 수 없다면 sysadmin에게 도움을 요청하십시오.


4

폴 라이트 크롤러 (예 : 주요 검색 엔진)의 경우 다음 /robots.txt과 같은 파일을 제공 할 수 있습니다 .

사용자 에이전트: *
허용하지 않음 : /

물론 그것은 단지 조언 일 뿐이며, 사람들이 URL을 알고 있다면 실제로 사이트를 방문하는 것을 허용하지 않습니다. 인터넷에서 대규모로 액세스해야하는 경우 사이트를 일종의 로그인 뒤에 배치하거나 내부 웹 서버에서 서버를 호스팅하는 것이 더 좋은 방법입니다.


1
이것과 Greg (... 다른 Greg)의 대답은 모든 것을 완벽하게 요약합니다.
익명

1

"더 많은 지식으로 들어가기"의 정신으로 :

HTML / Cs는로 숨길 수 robots.txt있지만 사이트를 프로덕션으로 푸시 할 때 해당 파일을 변경해야합니다. robots.txt임의의 임의의 사람이 개발 웹 사이트를 추측하지 못하게하지 않습니다 (전세계에 볼 수있는 경우).

.htaccess개발중인 모든 사이트에 사용자 이름 / 암호 콤보 를 추가하는 데 사용할 수 있습니다 .

VPN을 사용하는 방법의 예는 다음과 같습니다.

VPN의 모든 요청은 방화벽을 통과합니다. pfSense 와 같은 일부 소프트웨어를 실행하는 방화벽 은 웹 사이트 요청을 검사하고 URL을 기반으로 리디렉션을 수행합니다. 예를 들어 URL http : //example.com.staging 은 준비 서버의 example.com 버전으로 연결되고 http : //example.com.development 의 URL 은 example.com 버전으로 연결됩니다. 개발 서버에서.

이 모든 것이 개인 VPN에 있기 때문에 외부 웹 사이트에 액세스 할 수있는 웹 사이트는 없습니다.

또한 원래 질문으로 몇 가지를 명확히하십시오. php / mysql 작업은 서버 측 에서 이루어 지므로 웹 크롤러, 브라우저 등은 코드를 보지 못합니다. 코드 출력 만 볼 수 있습니다 (즉, 서버를 올바르게 구성하고 렌더링하지 않은 경우) 텍스트로 .php 파일).

귀하의 질문을 잘못 읽은 것 같지만 "로컬 스토리지"라는 문구가 모호하다는 것을 알았습니다. LocalStorage 는 클라이언트 시스템에 자산을 로컬로 저장하기 위해 HTML5 기술을 참조 할 수도 있습니다. html / css를 렌더링하는 데 사용되지 않으며 데이터 저장소 일뿐입니다 (브라우저는 html / css를 렌더링 함). 로컬 저장소는 일반적으로 회사가 개발 과정에서 웹 사이트를 숨기는 방법과 아무 관련이 없습니다.

컴퓨터에서 웹 서버를 실행 중이고 파일이 적절한 디렉토리 (일반적으로 htdocsApache를 실행하는 경우 디렉토리)에있는 경우 PHP 파일을 로컬로 볼 수 있습니다 .


0

검색 엔진은 스파이더를 사용하여 작동 합니다. 한 링크에서 다른 링크로 웹을 크롤링하는 스크립트입니다. 귀하의 사이트가 새로운 사이트이고 다른 사이트에 대한 링크가 없으면 아무것도 찾을 수 없습니다. 또한 어떻게 든 사이트를 방황하는 스파이더가이를 막지 않도록 구성된 robots.txt 파일이면 충분합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.