2012-04-21 17 views
0

にアクセスすることを可能にします。PHPだけで、私は3つのページを持っているサーバはPHPファイル

直接PHPを使用して

getjavascript.php 

にアクセスする外部ユーザーを防止するための方法はありますか?

index.jsは非表示の場所にあります。

おかげで、

+1

index.htmlにはSSIなど何も付いていないようなので、各ファイルがどのように「インクルード」されているのかをはっきりと明らかにする必要があります。 –

+0

ファイルを非表示にすると、そのファイルの内容は別のファイルに公開されますか? –

答えて

0

それはhtaccessファイルを使用することにより可能です。

リダイレクト/getjavascript.php http://example.com/newdirectory/

+3

ブラウザはgetjavascript.php?id = indexへのリクエストを行う必要があり、失敗するため、これは機能しません。 –

0

は、今私は、ApacheのRewriteRuleディレクティブを使用して、あなたの問題

  1. を解決するには、2つの方法を参照してください。この方法では、あなたのhtmlファイルに実際のURL名を隠すことができます
  2. このURLがブラウザから直接呼び出された場合(htmlフォームやリンクからではなく)、それを検出するgetjavascript.phpの追加パラメータを使用してみてください。
-1

ドキュメントルートの外側にインクルードスクリプトを置きます。たとえば、ルートがpublic_htmlの場合は、public_htmlの外にフォルダを作成して、インクルードされたファイルを入れます。この方法では、スクリプトはそれらを読み取ることができますが、インターネット上のランダムな人々は読み取ることができません。

+0

これはjavascriptファイルです... –

3

私はindex.htmlに以下のスニペットに類似したインクルードが含まれていると仮定しています(このjavascriptのクライアントサイドプルを実行していると仮定しています)。

<script type="text/JavaScript" src="getjavascript.php?id=index" /> 

javascriptファイル内に秘密を隠そうとするのであれば、ユーザーにコンテンツの取得を停止させる方法はありません。開発者用のツールを使用して内容を表示できます。さらに、ブラウザはファイルをダウンロードする必要があるため、直接アクセスするユーザーとこのファイルを取得するブラウザを区別する方法はありません。

サーバがPHPを使用しているということをわかりにくくすることを目的とする場合は、mod_rewriteを使用して内線番号を削除できます。

サーバー側のインクルードは別の話です。.htaccessの変更や、このファイルをwebrootディレクトリの外に移動すると動作します。

+0

こんにちは、私はもっとindex.jsのソースを隠そうとしています。私が考えていたのはif($ _ SERVER [webpage] == 'getjavascript.php'){exit(); } else {echo $ file; }?> –

関連する問題