開発中、企業はどのようにしてWebサイトを非表示にしますか?


9

私はこれに不慣れで、19歳の新しいPHP開発者を雇ったばかりなので、これがどのように機能するのかわかりません。多くの企業は、Webサイトを開発するときに、サイトがインデックスに登録されないようにしています。html5 / cssとphp / mysqlの作業を検索エンジンから非表示にする方法は何ですか?私が間違っていなければ、これらはテクニックです:

  1. オフライン開発:ローカルストレージを使用してhtml / cssをレンダリングします。PHP / mysqlがどのように機能するかはわかりません。

  2. .htaccessを使用してアクセスを防止する

  3. VPNを使用してアクセスを防止します。


1
最善の解決策は、可能な場合は常に、テストサーバーを運用サーバーと完全に同一にすることです。そして、この場合でも、予期しない驚きが発生する可能性があります...
Avio

完全なローカルphp開発を行う場合は、easyphp.orgをご覧ください。これは、Apache Webサーバー、MySQL db、PHPをWindowsデスクトップにインストールして構成するシンプルなインストーラーです。
アランバーバー

回答:


20

ベストプラクティスは、ローカルのデベロッパーマシンで本番スタックの概算を作成することです。これには通常、データベース、Webサーバー、およびカスタマイズされたコードが含まれます。そこですべての開発を行います。本番サーバーではコードを編集しないでください。

ビジネス関係者が機能を稼働させる準備ができたら、ローカルマシンから本番サーバーにコードをプッシュします。テストサーバーを使用して、社内の関係者が実際の運用前に変更をプレビューできるようにすることができます。

コードを管理するには、バージョン管理システムを使用してください。GitとMercurialは確かなオプションです。


やあ、グレッグ、私にこれらのことをする方法を私に示すことができるリンクを私に示すことができますか?私が知っているすべてのコーディングは自分で学ぶことなので、初めて会社で働いていますが、それは私にとって学習環境であり、それで大丈夫ですが、できる限り多くの知識を取り入れたいと思っています。本当に感謝します。
アリエル

このパターンは「プライベートワークスペース」と呼ばれます。サイトinformit.com/articles/article.aspx?p=30350は、適切な概要を持っているようです。
集約:12

また、あなたはおそらくあなたの状況に正確なレシピを見つけることは決してないでしょう。実稼働環境の各サブシステムを識別し、ローカルワークステーションでそれらを取得するためのインストールヘルプを見つけることができるはずです。
集約

そして、その間、データベースをソース管理することもできます!
HLGEM、2012年

以前のジョブの1つで、自動ビルドプロセスは一連のSQLファイルを連続して適用することにより、データ移行の全履歴をゴールドデータセット(本番データのサブセット)に適用しました。
集約:

6

検索スパイダーにサイトをインデックスに登録しないよう依頼するだけでは、非常に弱い防御策があります。

これを行う通常の方法は次のとおりです。

  • 開発中は、LANの外部からアクセスできない、またはおそらく同じマシン(localhost)以外からでもアクセスできない開発マシンでコードを実行します。これは通常、ファイアウォールを使用して行われ、ネットワークレベル(実際のLANファイアウォール。会社に何か価値がある場合は1つあります)またはローカル(「パーソナル」ファイアウォール)のいずれかです。さらに、ローカルのApacheサーバーを構成して、localhost(127.0.0.1)からの接続のみを受け入れるようにすることができます。
  • 承認バージョン(つまり、顧客が試してテストできるサンドボックスバージョン)は、本番環境と同じマシンで実行されます(可能な限り-一部の構成の詳細は異なる必要があります)。顧客のネットワークへのアクセスも許可することを除いて、開発環境で行ったのと同様にアクセスを制限します。これが不可能な場合(たとえば、お客様が専用のIPを持っていない、またはお客様がそれを理解するのに煩わしいことができないため)、HTTP認証を追加してお客様にパスワードを与えることを検討できます。これはWebサーバーレベル(つまり、Apache)で行うことができますが、1つ注意点があります。HTTP認証は暗号化されずにネットワーク上で行われるため、承認バージョンにリモートで機密情報が含まれている場合、

あなたはこれらの事を設定したいどのように通り:あなたはまともな* nixのディストリビューションを実行する場合は、パッケージマネージャ(付属していますaptport-installrpm、など)。これを使用して必要なコンポーネントをインストールし、ドキュメントを読んでください。自分でそれを理解できない場合は、システム管理者に助けを求めてください。


4

丁寧なクローラー(つまり、任意の主要な検索エンジン)の場合、次の/robots.txtファイルを提供できます。

ユーザーエージェント: *
許可しない:/

もちろん、これは単なる助言であり、URLを知っているユーザーが実際にサイトにアクセスすることを禁止するものではありません。インターネットからのアクセス全般が必要な場合は、サイトを何らかのログインの背後に置くか、単に内部のWebサーバーでサーバーをホストするのがより良いアプローチです。


1
これとGreg(...もう一方のGreg)の答えは、すべてをほぼ完全に要約したものです。
匿名

1

「知識を​​深める」という精神で:

HTML / Cssはで非表示にできますrobots.txtが、サイトを本番環境にプッシュするときにこれらのファイルを必ず変更してください。 robots.txtランダムな人が開発Webサイトを推測するのを防ぎません(世界中に表示されている場合)。

.htaccess開発中のサイトにユーザー名/パスワードの組み合わせを追加するために使用できます。

次に、VPNの使用例を示します。

VPN上のすべての要求はファイアウォールを通過します。そのファイアウォール(pfSenseのようないくつかのソフトウェアを実行している)は、Webサイトの要求を調べ、URLに基​​づいてリダイレクトを行います。たとえば、http://example.com.stagingというURLは、ステージングサーバー上のexample.comのバージョンに移動し、http://example.com.developmentの URLは、example.comのバージョンに移動します。開発サーバー上。

これらはすべてプライベートVPN上にあるため、これらのWebサイトには外部からアクセスできません。

また、元の質問でいくつかのことを明確にするために。php / mysqlの作業はサーバー側で行われているため、Webクローラー、ブラウザーなどはコードを見ることができません。つまり、コードの出力しか表示されません(つまり、サーバーを正しく設定し、レンダリングしていない場合)。テキストとしての.phpファイル)。

あなたの質問は間違って読んだと思いますが、「ローカルストレージ」というフレーズの使用は曖昧です。LocalStorageは、アセットをクライアントのマシンにローカルに保存するためのHTML5テクノロジーを指すこともあります。html / cssのレンダリングには使用されず、データストアのみです(ブラウザーはhtml / cssをレンダリングします)。ローカルストレージは通常、企業がWebサイトを開発中に隠しておく方法とは関係ありません。

マシンでWebサーバーを実行していて、ファイルが適切なディレクトリ(通常はhtdocsApacheを実行している場合はディレクトリ)にある場合、PHPファイルをローカルで表示できます。


0

検索エンジンはスパイダーを使用して動作します。あるリンクから別のリンクにWebをクロールするスクリプトです。サイトが新しく、他の場所からのリンクがない場合、何も見つかりません。それだけでなく、何らかの方法でサイトをさまよっているスパイダーがそれを閲覧しないように構成されているrobots.txtファイルで十分です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.