1

少し前に設定したCRONジョブのphpスクリプトがあります。ただし、PHPファイルが実行されていることに気付きました(cronジョブがアクティブ化されていません)。次のエンジンが私のページにアクセスしたことに気付いたため、Googleボットがファイルをクロールしたときに発生したようです。

http://www.google.com/bot.html

私の質問は:

1)私のウェブページをクロールすることで、スクリプトを実行できた可能性はありますか?

2)CRONファイルをGoogleから「隠す」にはどうすればよいですか?

3)このファイルを私のpublic_htmlディレクトリ以外の場所に配置するのは賢明でしょうか?

どうもありがとう!

4

4 に答える 4

2

1)もちろんです

2)robots.txt(http://www.searchtools.com/robots/robots-txt.html)を参照してください

3)はい。しかし、何らかの理由でhttpデーモンを介して呼び出すことに依存している場合は、ちょっとしたトリックを使用できます。

例えば。コードの最初の行:

if(!isset($_GET['execute'])
 exit;

crontabで:

http://server.tld/file.php?execute=1

于 2009-09-02T00:02:10.377 に答える
1

1)ファイルがパブリックWebディレクトリに配置されている場合、はい、Googlebot(または他の訪問者)によって実行される可能性があります

2) robots.txtにDisallow句を追加できます。これを行うと、通常のユーザーは誰でもアクセスして実行できます。

3)はい。

于 2009-09-02T00:03:14.433 に答える
0

php-cliも使用できます。cronジョブかどうかを定義します。

define('_DOING_CRON_', true);

次に、phpファイルで:

if(_DOING_CRON_ && php_sapi_name() != 'cli'){
    die("You cannot get here: this is only cron task.");
}
于 2016-10-22T07:24:50.620 に答える
0

上記のRunifusの回答は私にとっては解決しましたが、Cronジョブコマンドラインは?ここで学んだように、URLでクエリ文字列を渡します:変数を使用してPHPスクリプトを呼び出すCron Jobs

次のようになります。

http://server.tld/file.php execute=1

また、php条件に閉じ括弧がありません

if(!isset($_GET['execute']))  exit;
于 2016-11-28T09:58:54.183 に答える