8

単純なクラッシュ/エラー報告メカニズムを実装する最良の方法は何ですか?

詳細: 私のアプリはクロスプラットフォーム (mac/windows/linux) であり、Pythonで記述されているため、タイムスタンプとトレースバック (既に生成して表示されているもの) など、少量のテキストを送信するものが必要です私のエラーダイアログ)。

単純に電子メールで送信できれば問題ありませんが、アプリケーションに smtp サーバーのユーザー名とパスワードを含めずにこれを行う方法は考えられません... サーバー側に単純な Web サービスを実装する必要がありますか?私のアプリに情報を含むHTTPリクエストを送信させますか? より良いアイデアはありますか?

4

6 に答える 6

5

Web サービスが最善の方法ですが、いくつかの注意点があります。

  1. エラー フィードバック情報を送信してもよいかどうか、常にユーザーに確認する必要があります。
  2. ネットワーク エラーが発生した場合に正常に失敗するように準備する必要があります。クラッシュの報告の失敗が復旧の妨げにならないようにしてください。
  3. ユーザーが知っている場合を除き (#1 を参照)、ユーザーを特定する情報や機密情報を含めることは避け、SSL を使用するか、他の方法で保護する必要があります。一部の法域では、対処したくない負担が課せられる場合があるため、そのような情報は保存しないことをお勧めします。
  4. 他の Web サービスと同様に、悪意のあるユーザーがサービスを悪用できないようにしてください。
于 2008-09-17T18:16:02.343 に答える
3

アプリケーションにSMTPサーバーのユーザー名とパスワードを含めずにこれを行う方法を考えることはできません...

スマートホストに対して自分自身を認証するために必要なのは、ユーザー名とパスワードだけです。メールを直接送信するために必要ではありません。ISPのメールサーバーなどのリレーを介してメールを送信するために必要です。認証なしで電子メールを送信することは完全に可能です-それがスパムを止めるのがとても難しい理由です。

そうは言っても、一部のISPはポート25でアウトバウンドトラフィックをブロックするため、最も堅牢な代替手段はHTTP POSTであり、これは何によってもブロックされる可能性はほとんどありません。後で制限されていると感じないURLを選択するか、アプリケーションに定期的に更新をチェックしてもらうようにしてください。ドメインなどを変更する場合は、事前に更新をプッシュできます。

セキュリティは実際には問題ではありません。ジャンクデータはかなり簡単に破棄できるので、本当に心配なのは、誰かがあなたを混乱させるために偽のトレースバックを作成するのに苦労するかどうかです。これは非常にまれな状況です。

ペイロードに関しては、PyCrashがそれを支援します。

于 2008-09-17T18:30:25.320 に答える
1

Web へのヒットは当然のことですが、適切な URL を選択するようにしてください。あなたのアプリは今後何年もヒットします。

于 2008-09-17T18:11:53.150 に答える
1

パイクラッシュ

于 2008-09-17T18:12:08.920 に答える
0

ある種の単純な Web サービスで十分です。誰もがサービスにリクエストを送信できないように、セキュリティを考慮する必要があります..

より大きなスケールでは、JMS メッセージング システムを検討しました。トレースバック/エラー メッセージを含むシリアル化されたデータ オブジェクトをキューに入れ、x 分ごとにそれを消費して、そのデータからレポート/アラートを生成します。

于 2008-09-17T18:17:52.870 に答える
0

SMTP または HTTP のどちらを使用してデータを送信する場合でも、誰かがランダム データを送信するのを防ぐために、アプリケーションにユーザー名とパスワードが必要です。

それを念頭に置いて、HTTP よりも SMTP を使用してデータを送信する方が簡単だと思います。

于 2008-09-17T18:13:09.807 に答える