2011-08-01 3 views
3

私は自分のサイトに人々が自分の友達を招待できる機能を追加しています。私はコンマで区切ったリストを受け入れ、Gmailの連絡先をインポートできるようにしていた。「メールで友だちを招待する」機能...セキュリティの意義は何ですか?

私の質問は、誰かが自分のスクリプトに電子メールの文字列を投稿し、本質的にA)私のメールサーバーを圧倒し、B)多数の人をスパムすることを防ぐにはどうすればいいですか?明らかに、captchaはこれを助けますが、私たちのリスクを制限する他の方法があるかどうか不思議なだけです...

連絡先/ etcはすべてフロントエンドにあるので、サイトの暗号化キーを使用してハッシュする方法はありません。 ..私の最初の考えは、 "送信者"スクリプトに送信する前に電子メールをハッシュすることはおそらく動作しません...

これに関する助言、助けまたは方向は大いに感謝しています!

+0

captcha、セッション制限、IP制限、制限時間。 –

+1

まあ、reCAPTCHAのように、少なくともCaptchaが良いと言いました:http://www.google.com/recaptcha – Pehmolelu

答えて

3

まずは:一般的な送信者スクリプトを使用しないでください!受信者とメッセージ本文を外部要求から受け取るスクリプトはセキュリティの問題です。セキュリティは難しく、間違いを犯してスパマーするまであなたを開放します。特定の電子メールのみを送信できる複数のスクリプトを作成する方が効果的です。例えば。電子メールだけをあなたに送信するためにハードコードまたは事前設定されたcontact-usスクリプト。その中にハードコーディングされた、または事前設定されたメッセージテンプレートを持つ友人向けのスクリプト。

次に、ユーザーから提供されたものを電子メールのヘッダー(メッセージの件名、返信先のアドレスなど)に入れることに非常に注意する必要があります。もちろん、それは自動的にユーザーの電子メールアドレスに返信先を設定するにはすてきだが、私は私の電子メールアドレスとしてこれを何を入力した場合:

[email protected]\nBCC:[email protected] 

は今、私はあなたの接触を介して他の人々をスパムよそのフォームはあなたにメールを送信することになっています。

メールのヘッダー(またはメッセージ)にユーザーが入力できるものは、SQLクエリーに含まれるものを扱うのと同じように疑わしいものとして扱う必要があります。

+0

これは素晴らしいアドバイスです、どうもありがとうございます!これは私が探していたアドバイスです! –

関連する問題