2

sshにログインせずにapacheを再起動できるようにするために、 knockd http://www.zeroflux.org/cgi-bin/cvstrac.cgi/knock/wikiが良いかどうか疑問に思っていました。しかし、私のプログラミングに関する質問は、Web クライアント経由でノックできるように、PHP 経由で tcp/udp パッケージを送信する方法があるかどうかでした。

これが最も安全な方法ではないことは承知していますが、svn を更新したり、ssh を使用してパスワードを入力せずに apache を再起動したりしたいだけです。

4

4 に答える 4

1

真剣に、あなたは自分がやろうとしていることをしたくありません.

SSH など、ある種の安全なプロトコルを介してリモート サーバーを呼び出すことを検討する必要があります。クライアント側には、リモート SSH コマンドを実行する小さな PHP ユーティリティ アプリケーション/スクリプトを用意します (キーファイルのみに基づく認証メカニズムを使用することが望ましい)。

于 2008-12-28T03:26:35.610 に答える
1

fsockopen() 関数を使用することもできます...しかし、あなたがしていること(およびあなたがしている方法)は、セキュリティの観点から非常に危険です..言われているように、sshが方法です:)

リモート アクセス (非 ssh) を使用して Apache サーバーを再起動する必要がある場合は、特定のファイル (例: /tmp/restart.apache) を監視し、そのファイルがいつ表示されるかを監視する小さな php デーモンを作成できます。 exec("/etc/init.d/apache restart") (またはディストリビューション用のコマンド) を実行します。このデーモンはルートとして実行する必要があります...そして問題は、セキュリティ全体がこのようにあなた次第であるということです.これが恣意的に実行されないようにする必要があります...

あなたのポートノックのアイデア...単純なポートスキャナーが誤ってApacheを再起動する可能性があります:) portknock は、Apacheと直接ではなく、 ssh auth と組み合わせて使用​​ することをお勧めします:)

于 2008-12-29T01:18:50.827 に答える
0

SVN の場合は、PHP api 全体があるため、php.net で SVN を検索してみてください。

于 2008-12-27T20:14:25.980 に答える
0

「svn update」を呼び出す PHP スクリプトがないのはなぜですか? ファイルが Apache を実行するユーザーによって書き込み可能である限り、うまく機能します。その URL を押すだけでウェブサイトを更新できます

于 2008-12-27T15:59:00.833 に答える