4

私は現在、CRON ジョブを使用する新しいプロジェクトに取り組んでいます。

CRON スクリプトは基本的に SQL クエリを実行し、データをファイルに生成し、そのファイルを FTP 経由で別のサーバーに送信します。

スクリプトはライブ Web サイト (www.website.com/sendOrders.php) にあります。

セキュリティ上の問題や脅威は見当たりません。サーバー上で PHP スクリプトが見つかる可能性は非常に低いと思います。ただし、部外者がスクリプトを実行することは望ましくありません。

このスクリプトを保護する方法はありますか?

ありがとうピーター

4

5 に答える 5

9

「秘密のファイル」をサブフォルダーに移動し、そこに.htaccessファイルを作成して、Cronjobを実行しているサーバーを除くすべての人がそのファイルにアクセスできないようにすることができます。

例:

DENY FROM ALL
ALLOW FROM 123.123.123.123

シェルにアクセスできる場合は、スクリプトをアクセス可能なフォルダーの外に置き、次のようにコマンド ラインまたは cronjob を介して直接実行することもできますphp script.php

于 2012-10-29T00:26:41.080 に答える
3

スクリプトをサーバーの Web ルートの外に移動して、CLI から実行しないのはなぜですか? これは、他の誰かがそれを実行する可能性はありませんでした.

ウェブルートにそれが必要な場合 (そしてその理由がないはずです)、要求のクライアントが実行しているサーバーであることを確認してください。それで十分なはずです。

于 2012-10-29T00:24:59.353 に答える
2

これはかなりばかげているようです。単純にマシン B のネイティブ スケジューリング システム (OS が何であれ) にジョブ自体を実行させることができるのに、なぜ cron onmachine Aが HTTP on 経由でスクリプトを呼び出す必要があるのでしょうか?machine B

次に、HTTP 経由でアクセスできない場所にスクリプトを隠して、セキュリティの問題を完全に無意味にすることができます。

于 2012-10-29T00:30:01.140 に答える
0

ファイルが完全にロックダウンされるべきではないフォルダーにある場合は、それらの行を<Files whatever.php>...</Files>

<Files "cron.php">
  Order deny,allow
  Allow from name.of.this.machine
  Allow from another.authorized.name.net
  Allow from 127.0.0.1
  Deny from all
</Files>
于 2016-12-30T06:32:34.033 に答える