1

Webサイトで、ユーザーがテキストを入力してから、ユーザーが入力した内容を表示するページを入力できるフォームがある場合。スクリプト攻撃を防ぐために、ユーザーが入力した値をhtmlエンコードすることを知っています。フォームが電子メールアドレスを送信している場合、私は同じことをすると思いますが、電子メールに特別なケースはありますか?電子メールクライアントは電子メールに挿入されたスクリプトを実行しますか?

4

5 に答える 5

1

ドキュメントを送信する前にタグを削除するのは良い考え<script>ですが、脅威は低いと思います。電子メールをレンダリングする前にスクリプトを削除しない電子メール クライアント (まだサポートを受けている) を見つけるのは難しいと思います。

于 2008-09-22T13:16:07.410 に答える
0

電子メールの本文をtext/plainとしてマークすることで、javascriptやhtmlの攻撃を回避できると思います(ただし、ヘッダーの提案に従うことについての見通しは信用できません)。

于 2008-09-22T10:28:45.613 に答える
0

投稿されたコンテンツを電子メールの HTML 本文に割り当てる前に、必ず HTML エンコードする必要があります。あなたのコードは、電子メールの場合だけでなく、すべての場合において、'<script>' などのコンテンツを無効として既に拒否しているはずです。

他に心配する必要がある考慮事項はありません。

于 2008-09-22T14:09:14.677 に答える
0

エスケープの重複または欠落によって引き起こされる負担 (および潜在的なバグ) を受け入れる SMTP ライブラリを使用する必要があります。次に、平文メール (text/plain) のみを使用します。

バグのあるメール クライアントでのセキュリティ上の問題を回避するために、ほとんど空のメールを送信し、テキストを添付ファイル (ファイル拡張子 ".txt"、コンテンツ タイプ "text/plain") として送信することもできます。

于 2008-09-22T10:57:37.027 に答える
0

メールを送信するために、既存のテスト済みのソリューションを使用することを強くお勧めします。たとえば、ユーザー入力を PHP の mail() 関数に渡す場合 (たとえ HTML エンコーディングを使用していても)、攻撃者が実際にヘッダーを含む「本文」を作成して、マルチパート メッセージを作成する可能性があります。

于 2008-09-22T14:42:14.817 に答える