2

ページが であるとしexample.com/blog/data.phpます。file_get_contents別のスクリプト ページでコンテンツを取得するために使用しています。今、私はしたい:

  1. Google 検索による data.php ページのクロールとインデックス作成を禁止します。
  2. 訪問者のアクセスを禁止する

これを達成する方法はありますか?

4

4 に答える 4

2

リクエスト URL が の場合、別のページにリダイレクトできますexample.com/blog/data.phpが、はるかに簡単で論理的な解決策は、ファイルを web-root の外に移動することです。

編集:本当にファイルを web-root 内に保持したい場合は、直接アクセスしたくないスクリプトの上部で次のようなものを使用できます。

if ($_SERVER['REQUEST_URI'] === $_SERVER['SCRIPT_NAME'])
{
  header('Location: /');    // redirect to home page
}

file_get_contentsただし、これはおそらく(これらの行を結果から削除する必要があります) と組み合わせて使用​​することはできませんinclude。代わりにファイルを使用することができます。

于 2012-11-16T13:54:12.987 に答える
1

data.phpWeb ルートの下に置かないでください。並列ディレクトリに保管してください。

于 2012-11-16T13:54:26.790 に答える
0

許可されたユーザーのみにアクセス制限を適用するだけです。url パラメーターをパスワードとして使用してページにアクセスすることにより、最も簡単な方法でそれを行うことができます。

example.com/blog/data.php?secret=someblah

ファイル data.php の最初の部分で、次のようにします。

<?php
if (!isset($_GET['secret']) || $_GET['secret'] != 'someblah')) exit();
?>

ただし、これは安全ではありませんが、基本的な認証原則であるため、公共のコンピューターからこれを使用しないことをお勧めします。

于 2012-11-16T13:54:50.520 に答える
0

GET 経由でトークンを渡すことができます。全体的にあなたのやり方は少し間違っています。それを呼び出すスクリプトに data.php ロジックを組み込んでみませんか。

于 2012-11-16T13:55:28.863 に答える