2

Facebook などのサイトでは、件名にメッセージを送信したユーザーの名前が表示されます。

このため、メッセージの件名にユーザーが入力した値に対してどのようなエスケープを行いますか? それとも、az、0-9、ピリオド、カンマ、一重引用符以外は許可しませんか?

4

3 に答える 3

1

電子メールのヘッダーには注意が必要です。8 ビット文字はちょっとダメです。(メールサーバーはそれらを拒否します)。

それを行う適切な方法は、件名行を MIME エンコードし、件名行に ASCII char \n が含まれていないことを確認することです (技術的には複数行の件名が可能ですが、多くのメール クライアントで問題が発生すると思います)。

詳細については、 http://en.wikipedia.org/wiki/MIME#Encoded-Wordを参照してください。

于 2009-02-10T11:28:13.913 に答える
1

禁止文字がある場合はエスケープが必要です。件名は NL で終了するため、これはヘッダーに入れるべきではない唯一の (ASCII) 文字です。

RFC821も参照

于 2009-02-10T11:10:39.150 に答える
1

お問い合わせフォームと同じ問題です。

電子メールのヘッダーを見ると、たとえば次のようになります。

Subject: user123 has sent you an invite
From: "User123" <user123@example.org>

ユーザー名が電子メール ヘッダーの値と似ていないことを確認する必要があります。ユーザーが「宛先: spamreceiver1@example.org、spamreceiver2@example.org、spamreceiver3@example.org、spamreceiver4@example.org」と名乗る可能性がある場合は、入力を消去する必要があります。

「コンタクト フォーム スパム」を検索すると、何をすべきかがわかります。少なくとも「To:」、「Subject:」、「From:」などをすべて削除する必要があります。

于 2009-02-10T11:11:37.353 に答える