परिदृश्य:
मेरे पास मेरे वेब ऐप पर एक संपर्क फ़ॉर्म है, यह स्पैम का बहुत कुछ मिलता है।
मैं ईमेल पते के प्रारूप को कम कर रहा हूं iee ^[email protected]+\..+$
मैं स्पैम फ़िल्टरिंग सेवा (डिफेंसियो) का उपयोग कर रहा हूं लेकिन वापस आने वाले स्पैम स्कोर मान्य संदेशों के साथ ओवरलैपिंग कर रहे हैं। 0.4 की सीमा पर कुछ स्पैम हो जाते हैं और कुछ ग्राहक के प्रश्न गलत तरीके से फेंक दिए जाते हैं और एक त्रुटि प्रदर्शित होती है।ईमेल पते को सत्यापित करने के लिए एमएक्स रिकॉर्ड का उपयोग
सभी स्पैम संदेश नकली ईमेल पते का उपयोग करते हैं उदा। [email protected]
अमेरिका में समर्पित PHP5 लिनक्स सर्वर, mysql, केवल स्पैम लॉगिंग, गैर स्पैम संदेशों को ईमेल करना (संग्रहीत नहीं)।
प्रस्ताव: उपयोग php के checkdnsrr(preg_replace(/^[email protected]/, '', $_POST['email']), 'MX')
जाँच करने के लिए ईमेल डोमेन एक मान्य पता करने के लिए हल करता है, फाइल करने के लिए प्रवेश करें, फिर संदेशों कि समाधान नहीं होता है के लिए एक त्रुटि के साथ पुन: निर्देशित, पते के लिए के रूप में पहले स्पैम फिल्टर सेवा के लिए आगे बढ़ें जो checkdnsrr()
के अनुसार हल करता है।
मैंने पढ़ा है (और मुझे इस बारे में संदेह है) कि आपको रिमोट लुकअप तक इस प्रकार की सत्यापन कभी नहीं छोड़नी चाहिए, लेकिन क्यों?
कनेक्टिविटी के मुद्दों के अलावा, जहां मुझे संपर्क फ़ॉर्म की तुलना में बड़ी समस्याएं होंगी, क्या चेकडेंसर को झूठी सकारात्मक/नकारात्मक का सामना करना पड़ रहा है?
क्या कुछ पता प्रकार होंगे जो हल नहीं होंगे? जीओवी पते? आईपी ईमेल पते?
क्या मुझे hostd से बचने की आवश्यकता है जिसे मैं checkdnsrr() पर भेजता हूं?
समाधान: सभी तीन उत्तरों का संयोजन (इच्छा है कि मैं एक से अधिक संकलन उत्तर के रूप में स्वीकार कर सकता हूं)।
मैं उपयोग कर रहा हूँ:
$email_domain = preg_replace('/^[email protected]/', '', $email).'.';
if(!checkdnsrr($email_domain, 'MX') && !checkdnsrr($email_domain, 'A')){
//validation error
}
सभी स्पैम लॉग इन किया जा रहा है और घुमाया। बाद की तारीख में नौकरी कतार में अपग्रेड करने के लिए।
कुछ टिप्पणियों को उपयोगकर्ता के सत्यापन के लिए मेल सर्वर से पूछने के बारे में बताया गया था, मुझे लगा कि यह बहुत अधिक ट्रैफिक होगा और मेरे सर्वर को किसी भी तरह से प्रतिबंधित या परेशानी हो सकती है, और यह केवल अधिकांश में कटौती करने के लिए है अमान्य सर्वर पतों के कारण ईमेल को वापस बाउंस किया जा रहा था।
http://en.wikipedia.org/wiki/Fqdn और (एक रिकॉर्ड वापस आने टिप के लिए विशेष रूप से ZoogieZork) सभी
RFC2821
The lookup first attempts to locate an MX record associated with the name.
If a CNAME record is found instead, the resulting name is processed as if
it were the initial name.
If no MX records are found, but an A RR is found, the A RR is treated as
if it was associated with an implicit MX RR, with a preference of 0,
pointing to that host. If one or more MX RRs are found for a given
name, SMTP systems MUST NOT utilize any A RRs associated with that
name unless they are located using the MX RRs; the "implicit MX" rule
above applies only if there are no MX records present. If MX records
are present, but none of them are usable, this situation MUST be
reported as an error.
बहुत धन्यवाद
+1 .. मैं MX रिकॉर्ड की जांच .. thats एक अच्छा विचार मुझे लगता है कि द्वारा एक मान्य ईमेल के लिए जाँच की कभी नहीं सुना है। – Earlz
आरएफसी 5321 में परिभाषित किए गए कोई एमएक्स रिकॉर्ड सूचीबद्ध होने पर रिकॉर्ड को जांचने के लिए ध्यान रखें। यह दुर्लभ है, लेकिन कुछ डोमेन में एमएक्स रिकॉर्ड नहीं है (विभिन्न कारणों से)। अधिक जानकारी: http://en.wikipedia.org/wiki/MX_record#History_of_fallback_to_A – ZoogieZork
चीयर्स ज़ोर, बिल्कुल गॉथस की तरह मैं चिंतित था। –