6

私のアプリケーションは、Outlook や IMAP メールボックスなど、さまざまなソースからの電子メールを処理します。それらを解析する前に、それらを一時ディレクトリに書き込みます (メモリに保持することはできません)。解析中に、一時ディレクトリに添付ファイルを書き込んでいる可能性があります (たとえば、添付ファイルが大きすぎてメモリに保持したり、全文を抽出したりできない場合など)。

しかし実際には、最初は非常に奇妙に思えた 2 つのことが起こりますが、すべてウイルス スキャナーの動作にまでさかのぼることができます。

  • 数ミリ秒前に自分で書いたファイルを開くことができないことがあります。それらはウイルス スキャナーによって明らかにロックされ、クリーンであることを確認します。例外が発生します。

  • ファイルがウイルス スキャナによって危険であると見なされた場合、ウイルス スキャナはそれらをある時点で削除します。

この動作に対処するために、open が失敗した場合に再試行するか、ファイルが存在するかどうかを確認するいくつかのメソッドを作成しましたが、アプリケーションのすべての部分 (フィルターなどのサード パーティ コード) でそれらを使用することはできません。 、そのため、状況は改善されましたが、100% 完璧ではなく、このため、ソース コードの一部が見苦しく見えます。

ウイルススキャナーにどのように対処していますか?

4

4 に答える 4

4

ウイルススキャナーの構成を変更することが理想的なオプションではない場合。ファイルの作成からプロセスの終了まで、ファイルを開いたままにしていただけますか?ファイルのハンドルを取得した場合、ウイルススキャナーでは使用できません。

于 2008-10-18T10:46:07.287 に答える
1

ファイルを暗号化して書き込みます。あまりトリッキーで複雑なものは必要ないと思います。また、ウイルス スキャナーがそれによってトリガーされる可能性があるため、ファイル名を暗号化またはマングルします。

于 2008-10-18T19:15:23.573 に答える
0

通常、メールフィルタリングファイルをウイルススキャナーから除外し、受信メールシリーズのチューブに含まれる専用のメールアンチウイルスプログラムを使用する必要があります。メールサーバーで「感染したファイルを削除する」オプションをオフにするようにユーザーに依頼することを確実に検討してください。オフにしないと、メールデータベースが失われる可能性があります:-/。たとえば、Exchangeを無視するようにAVを設定する方法は次のとおりです。http: //www.sophos.com/support/knowledgebase/article/12214.html しかし、別の見方をすれば、ファイルにウイルスが含まれているということです。とにかくそれを配信したくないでしょう;-)

以前の回答では、プロセスのみがファイルにアクセスできるようにアクセス許可を変更すると述べていました。それはうまくいきません。その塩に値するAVはカーネルで実行され、とにかくファイルにアクセスできます。

于 2008-10-18T10:43:03.547 に答える
-1

ウイルス スキャナには除外フォルダがあります。ドキュメントを見て、一時フォルダーをこのリストに追加してください。

于 2008-10-18T10:16:12.230 に答える