入力したメールアドレスが有効なメールアドレスであるかどうかを確認する以外は、phpMailerに送信する前に何もサニタイズする必要はありません。
データのサニタイズには2つの理由があります。SQLインジェクションとXSSまたはCSRF(クロスサイトスクリプティングまたはクロスサイトリクエストフォージェリ)いずれの場合も、ユーザーは入力に基づいて何かを出力として表示する必要があります。
ただし、メールクラスのサニタイズについて質問したのは良いことです。理想的には、誰もそれを要求しないからです。HTMLタグ?もちろん、HTMLタグを送信することもできます。コンテンツタイプは次のように定義できますtext/html
何を消毒する必要がありますか?
アタッチメントタイプ!メールクライアントのエクスプロイトに関係なく、常に添付ファイルに含まれています。次のmimeタイプのみを許可します。
image / jpeg'、' image / pjpeg'、' image / gif'、' image / png'、' application / msword'、' application / vnd.ms-office'、' application/vnd.openxmlformats-officedocument.wordprocessingml。 document'、' application / vnd.openxmlformats-officedocument.wordprocessingml.template'、' application / vnd.openxmlformats-officedocument.spreadsheetml.sheet'、' application / vnd.openxmlformats-officedocument.presentationml.presentation'、' application / pdf '
ファイルの拡張をチェックすることはお勧めしません!メールクライアントは、ブラウザでファイルを開くだけのget_file_contents()のような関数を使用する可能性があり、JPEGの拡張子が埋め込まれたjavascriptの場合は、引き続き実行されます。(IE6 / IE7ではそうしました)しかし、これも強力な解析メカニズムを持つブラウザの仕事です。コンテンツスニッフィング
- 添付ファイルのサイズ
サイズ制限があることを確認してください。
エクスプロイトはメールに含まれる場合と含まれない場合があり、メールクライアントがそれを処理する必要があります。ただし、メーラーエンドコーダーとして、これらは注意が必要な2つのことです。
お役に立てば幸いです:)