4

特定の時間に新しいページを自動的にリリースするスクリプトを作成しました。カウントダウン タイマーを表示し、タイマーが 0 に達すると、特定のファイルの名前を index.php に変更し、現在の index.php の名前を index-modified.php に変更します。

これで問題ありません。しかし、ある時点で、私の顧客は私のサイトが来ないと言った.. index.php が index-modified.php に名前が変更され、他のすべてのページが正常に機能していることがわかりました。また、index.php がないと、サイトに 404 エラーが表示されました。

その後、アクセス ログを分析したところ、Alexa クローラーがそのリリース スクリプトにアクセスし、それが問題の原因であることがわかりました。

alexa クローラーがどのようにして私の内部スクリプト ファイルを見つけ、それをクロールしたのか知りたいです。すべての内部管理目的のファイルに発生しますか? どのページにもそのスクリプトへのリンクはありません。

サーバー内に存在するファイルをどのように見つけることができるのだろうか..????

4

4 に答える 4

11

サーバー内に存在するファイルをどのように見つけることができるのだろうか?

おそらく、それらのファイルにアクセスした人がAlexaツールバーを使用したためです。

スクリプトに2つの問題があるため、これを実行できただけです。

  1. 認証/承認レイヤーで保護されていません。

  2. GETリクエストに応じて、サーバーに大きな変更を加えます。HTTP仕様では、「安全な」リクエストにはGETを、何かを行うリクエストにはPOSTを提供しています。

于 2010-02-26T09:13:50.013 に答える
1

スクリプトがhtdocs(apacheの場合)フォルダー内にある場合、クローラーがスクリプトを見つけてクロールしようとする可能性があります。あなたができることは次のとおりです。

1)robots.txtにルールを配置します。ここで、ルールについて詳しく知ることができます: http ://www.javascriptkit.com/howto/robots.shtml

これにより、クローラーはスクリプトを実行しないようにアドバイスされますが、実行が禁止されることはありません。

2)スクリプトをサブフォルダーに入れ、パスワードで保護します。この場合、本当に必要ないのは、ランダムな訪問者またはスパイダーがWebサイトを無効にすることです。これを簡単に行う方法の詳細は、.htaccessです。

http://www.javascriptkit.com/howto/htaccess3.shtml

幸運を祈ります、マリン

于 2010-02-26T09:08:57.143 に答える
1

スパイダーのクロールを使用robots.txtおよび禁止する必要があります。

User-agent: *
Disallow: index.php
于 2010-02-26T09:06:07.003 に答える
1

index.phpディレクトリ内のデフォルトの PHP スクリプト名です。ファイル名を指定せずにディレクトリに移動すると実行されます。

これを解決するには、POST を使用して変更を呼び出します。それができない場合は、少なくとも、推測されにくい名前をスクリプトに付けてください。

于 2010-02-26T09:04:28.130 に答える