0

私はファイル転送アプレットを持っており、現在ロギングシステムを作成しているので、初期化されたアプレットで、ファイルを送信して終了するまで、ログファイルの印刷を開始します(元々はクライアント側のjavaコンソールに移動します)しかし、今はそれを変更して、代わりにサーバーに移動するようにしています(サーバーにファイルを作成し、ファイルへの書き込みを開始します)。

現在は機能しています。ポート5000を使用していますが、ポートを開くのは危険なので、ポート5000のファイアウォールを開く必要があります。ファイル転送のために開いているので、ポート80または443(HTTPS)を使用できますか?どうやってするの?

現時点でのコードの例は

Javaアプレットには

handler = new SocketHandler("xxx.xxx.xxx.xx", 5000);
//on different area of the file there will be something like
log("starting the applet");
log("sending email");
...

サーバー上で私はこのような単純なJavaサーバーを作成します

public class ThreadedEchoServer {
    // using port 5000 
    static final int PORT = 5000;

    public static void main(String args[]) {
        ServerSocket serverSocket = null;
        Socket socket = null;

        try {
            serverSocket = new ServerSocket(PORT);
        } catch (IOException e) {
            e.printStackTrace();

        }
        while (true) {
            try {
                socket = serverSocket.accept();
            } catch (IOException e) {
                System.out.println("I/O error: " + e);
            }

            // new thread for a client
            new EchoThread(socket).start();
        }
    }
}
4

3 に答える 3

1

ポート80と443の使用について考える必要はありません。これらは受信接続用のポートです。これらのポートの1つで接続が確立された後、要求は実際に処理のために別のポートにリダイレクトされます。したがって、それらを使用して書き込みを行うと、着信通信がブロックされます。

于 2012-05-02T19:04:41.113 に答える
1

現在は機能しています。ポート5000を使用していますが、ポートを開くのは危険なので、ポート5000のファイアウォールを開く必要があります。ポート80または443(HTTPS)を使用できますか?どうやってするの?

ポート5000を開くことは、ポート80または443を開くことと同じくらい危険です(ポートを変更することは、番号を変更することと同じくらい難しく、それ以上の効果はありません)。

于 2012-05-02T19:04:50.993 に答える
0

サーバーが他の重要なアプリケーションを実行している場合は、5000ポートを使用し、chroot環境を構成します。

このスレッドを確認できます。パストラバーサル攻撃から防御するための最良の方法は何ですか?

于 2012-05-02T19:20:27.643 に答える