7

ニュースレターで送信される購読解除リンクにプレーンテキスト形式の電子メールアドレスを含めない理由をいくつか教えてください。

今は:

xyz.net/unsubscrible?uid=123&email=user@domamin.com

私が推進しているのは:

xyz.net/unsubscrible?uid=123&key=(encrpted_email_md5hash).

メールアドレスをプレーンテキストで送信するというアイデアはあまり好きではありませんが、脅威の可能性について上司を説得する必要があります。

更新:すべての回答は、保護する方法を示唆しており、保護する理由ではありませんが、do-obの回答が最も適切であると思います。

4

8 に答える 8

8

その後、他の誰かの購読を解除できるからです。理想的には、キーのみを使用する必要があります。

xyz.net/unsubscrible?key=<some unique cryptographic hash>

IDやメールアドレスを推測して、他の誰かに何らかのアクションを起こさせることはできないはずです。

于 2011-04-26T22:58:09.447 に答える
6

銀行が次のようなリンクを持っていないのと同じ理由で

bank.com/applycredit?ssn=123456789&name=john+smith&dob=19500101&married=true&address=...

簡単に傍受して解釈することができます。

于 2011-04-26T22:44:30.537 に答える
5

私が受け取るほとんどすべてのニュースレターの下部には、次のような免責事項があります。

このメールはYourName@Domain.comに送信されました。登録を解除するには、次のリンクをクリックしてください:xxxx

ニュースレターに自分のメールアドレスを明示的に記載すると便利です。メールアドレスが購読解除リンクにあるかどうかは、私には関係がないようです。


メッセージの実際のテキストまたは購読解除リンクで電子メールアドレスを公開していないとします。電子メールアドレスはまだ電子メールメッセージヘッダーにあります。結果として、私は、購読解除リンク内でそれを曖昧にする背後にある必要性や理由を実際には見ていません。

于 2011-04-26T22:45:10.147 に答える
3

なぜだめですか?必要ないので含めないでください。そのデータは何に使用されていますか?クエリ文字列に実際には必要のないものは含めないことをお勧めします。

実際に必要なのは一意の識別子だけです。クエリ文字列にすでに一意の識別子があるようです:uid

潜在的な問題:購読解除URLを自動的に作成?uid=し、100万から1000万に達するのを妨げているのは何ですか?

提案:テーブル内のユーザーごとにユーザーGUIDを作成します。それを購読解除トークンとして使用します。自動化された攻撃に対して推測可能または脆弱になることはありません。

foo.com/unsubscribe?u=<guid>
于 2011-04-26T22:55:23.353 に答える
1

uidは「ユーザーID」だと思います。ユーザーIDがわかっている場合は、その権利からメールアドレスを特定できるはずです。URLにメールが含まれていても何も起こらないようです。個人情報を含める必要がない場合は、含めないのが最善だと思います。

于 2011-04-26T22:44:38.940 に答える
1

ユーザーを一意に識別する別の方法がある場合は、メールアドレスは必要ないことに同意します。唯一の理由は、ユーザーが購読している電子メールアドレスをユーザーに示すことかもしれませんが、ユーザーが明らかに電子メールを受信して​​いるため、それも廃止されています。

于 2011-04-26T22:44:51.420 に答える
1

私はあなたに非常にトリッキーな答えを与えることができますが、あなたは完全な電子メールアドレスを持つことはそれほど悪い考えではないことに気付くでしょう。

電子メールアドレスを含むURLを持っていると、悪意のあるプロキシ(つまり、公共の場所から)がアドレスを保存してスパムを送信するために使用される可能性があります。しかし、公共の場所に悪意のあるものがあると思われる場合は、公共のコンピューターにキーロガーをインストールして、さらに悪いことをしてください。

もう1つのポイントは、貴重な顧客に電子メールを送信している場合、攻撃者が電子メールアドレスを偽造して購読を解除し、実際に通信強度を低下させる可能性があることです。このために、あなたはあなたのURLに暗号チェックサムを追加することができます(CAPTCHAを必要としない、人々は購読を解除するときにそれを好きではありません)、しかしそれからあなたが解決できるメールアドレス全体を暗号化する(または単に明白でない方法でエンコードする) 2つのパラメータを使用しない問題。

于 2011-04-26T22:54:37.987 に答える
1

を使用していないためhttps、クエリパラメータをスヌープできます。これは、モバイルユーザーや、コーヒーショップのように無料のWi-Fiを利用できる場所にいるラップトップのユーザーにとって深刻な問題です。

また、uidはすでに電子メールアドレスにマップされているため、電子メールアドレスなどの識別情報をスヌーパーに公開する必要はありません。

リンクをクリックするとすぐに登録解除が行われないようにする必要があります。これはGETURLであり、べき等(セクション9.1を参照)である必要があります。つまり、基になるデータベースを変更する権限を持ってはなりません。

また、uidが推測可能であるか不要である場合に、URLを偽造することでできるメールアドレスを知っているだけで、登録を解除する権限を持っているべきではありません。

于 2011-04-26T23:57:10.240 に答える