ما الطريقة الجيدة لسرد عنوان بريد إلكتروني "اتصل بنا" على موقع ويب ، مع تقليل احتمالية تعرضه للبريد العشوائي؟
هل وضع عنوان البريد الإلكتروني في صورة هو الأسلوب الأفضل أم هناك آخرون؟
أقوم بتمرير جميع نماذج جهات الاتصال من خلال حساب Gmail غير مباشر ، يقوم بإعادة توجيه البريد إلى عنوان البريد الإلكتروني الحقيقي. إنه مجاني ، إنه سهل ، وكشف البريد العشوائي في Gmail هو من الدرجة الأولى.
لا يتطلب الأمر أي جهد إضافي عند إنشاء موقع الويب ، وإذا حدث أي شيء ، فما عليك سوى تسجيل الدخول إلى حساب Gmail والإشارة إليه كرسالة غير مرغوب فيها.
يمكنك بعد ذلك تعيين البريد الوارد في Gmail إما لأرشفة أي شيء تم إعادة توجيهه تلقائيًا ، أو حتى حذفه إذا كنت لا تريد الاحتفاظ بنسخة إضافية هناك.
استخدام obfuscator البريد الإلكتروني
جوابي هو عدم القيام بذلك. تقوم أنظمة البريد الإلكتروني الحديثة ، مثل GMail وجهاز Barracuda لمكافحة البريد العشوائي ، بعمل ممتاز في تصفية البريد العشوائي. أي حاجز تضعه بينك وبين زائريك يعني انخفاض مستوى المشاركة ، ووفقًا لنوع الموقع ، فقد المبيعات محتمل.
إذا كنت قلقًا بشأن المستخدمين الذين ليس لديهم عميل بريد أصلي مثبت ، أو ليس لديهم mailto: تم تعيين المعالج بشكل صحيح ، فقم بإنشاء صفحة "اتصل بنا" تحتوي على عنوان البريد الإلكتروني المرتبط ونموذج (بدون اختبار CAPTCHA) و دع المستخدم يختار.
البريد المزعج أمر مزعج ، لكن عبءنا لا يتحمله المستخدمون.
استخدم لغة طبيعية لتوضيح عنوان البريد الإلكتروني ...
مثلا:
thatguy at gmail dot com
ستندهش من صعوبة كتابة روبوت يمكن أن يفرق بين اللغة الطبيعية مقابل كتابة روبوت يبحث فقط عن العلامة @ ويعيد صياغة العنوان العادي.
إنها ليست مضمونة تمامًا بنسبة 100٪ ولكنها ليست أسوأ من التعتيم ولن تؤدي إلى تنفير المستخدمين المعاقين بصريًا و/أو المستخدمين الذين قاموا بتعطيل JavaScript.
تحديث: هنا مثال على هذه التقنية في العمل .
التحديث 2:
اتضح أن شخصًا ما أجرى بحثًا في هذا الشأن ونشره على الإنترنت. راجع منشور SuperUser الذي يصف النتائج أو المقال الأصلي
أنا شخصياً لا أعرض عناوين البريد الإلكتروني على المواقع ، لكن بدلاً من ذلك أمتلك نموذج اتصال سهل الاستخدام ، يمكن الوصول إليه ، إلى جانب إشارة إلى من هو البريد الإلكتروني ؛ السماح للمستخدمين بإرسال مالكي الموقع ومشغلي البريد الإلكتروني ، دون الكشف عن عناوين البريد الإلكتروني أو الاضطرار إلى القفز عبر أطواق JavaScript المختلفة ، إلخ.
هذا غالبًا ما يكون أفضل طريقة للذهاب إذا كانت تصفية البريد العشوائي غير معقدة.
استخدم css لإخفاء بعض الضوضاء عن النص الحقيقي (فقط في سطر واحد ، قمت بتنسيقه لتوضيح الأسلوب بشكل أفضل):
u<span class="spam">noise</span>ser
@<span class="spam">noise</span>
example<span class="spam">noise</span>
.com
ثم استخدم مقتطف css الصغير هذا:
.spam { display: none; }
إذا كنت بحاجة إلى محتوى mailto:
صالح ، فعليك إنشائه عبر jscript في dom ، راجع بعض الإجابات الأخرى لذلك. لكنني لست صديقًا كبيرًا لذلك.
ما أقوم به هو كتابة عنوان البريد الإلكتروني ككلمات ، ملفوفة بعلامة span: <span class="email">joe dot blow at gmail dot com</span>
. ثم يتم تشغيل برنامج نصي على مستوى الصفحة ، والاستيلاء على أي من هذه الامتدادات والاستعاضة عن كل منها برابط بريد إلكتروني مُنشأ. قد لا تكون غامضة للغاية ، لكن لم تكن لدي أية شكاوى. بالإضافة إلى ذلك ، إذا تم تعطيل JavaScript ، فلا يزال بإمكان المستخدم قراءة النص الفعلي.
أفضل حل: استخدم فلتر البريد العشوائي.
أنا في الواقع أستخدم Gmail للتعامل مع حساب البريد الإلكتروني POP3 لعملي ، لأنه من الأسهل بكثير التحقق من البريد الإلكتروني على أجهزة كمبيوتر مختلفة. مرشحات البريد العشوائي في Gmail هي الأفضل في العالم.
لذلك يمكنك فقط عرض [email protected] كعنوان بريدك الإلكتروني ونسيان الرسائل غير المرغوب فيها.
باستخدام ترميز html مثل ʉẮᶗ
، سيعرض المتصفح مثل "abc"
طريقة جيدة جدًا ، في حين أنها ليست طريقة مثالية لإنشاء عنوان البريد الإلكتروني عبر javascript. لا تقوم معظم العناكب التي تبحث عن رسائل البريد الإلكتروني بتنفيذ جافا سكريبت ، وبالتالي لا تجد عنوان بريد إلكتروني قابل للقراءة.
هنا هو مجرد مثال واحد كيف يمكن القيام به.
استخدم مكتبة رسومية (مثل Gd الذي يدعمه PHP أو ما شابه ذلك) لإنشاء صور .png تحتوي ديناميكيًا على عناوين البريد الإلكتروني.
بالمقارنة مع إجابتي الأخرى هذا الحل أقل إزعاجًا للمستخدمين (ولكن ليس شفافًا ؛ لا يمكنهم نسخه ولصقه ولكن يجب إعادة كتابته من نقطة الصفر) ولكنه أيضًا أقل أمانًا: كمبيوتر يمكن أن يحتمل قراءة الصورة غير مشفرة.
لكن بشكل عام أعتقد أنه حل وسط جيد ؛ سوف توقف الغالبية العظمى من روبوتات البريد المزعج.
يمكنني استخدام برنامج نصي بسيطPython لتحويل عنوان البريد الإلكتروني إلى رابط mailto حيث يكون عنوان البريد الإلكتروني عبارة عن وحدة HTML مشفرة. هذا شفاف تمامًا للمستخدم ، ولكن يبدو أنه يحجب المحتويات بما يكفي لهزيمة روبوتات الحصاد الأكثر بساطة.
#! /usr/bin/env python3.0
def entity_encode(text):
out = ""
ba = text.encode()
for i in range(len(ba)):
out = out + "&#x{0:02x};".format (ba[i])
return out
def print_email_link(address) :
print('<!-- {0} -->'.format(address))
print('<a href="{0}{1}">{1}</a>'.format(entity_encode("mailto:"), entity_encode(address)))
print_email_link("[email protected]")
هذا يعطي الإخراج
<!-- [email protected] -->
<a href="mailto:test123@example.com">test123@example.com</a>
عندما يتم لصق النتيجة في صفحة ويب ، يعرض المستعرض النص "[email protected]" كخط تشعبي إلى "mailto: [email protected]" ، لذلك فهو مناسب للمستخدم النهائي تمامًا مثل تضمين العنوان في واضحة. ولكن يبدو أن هزيمة العديد من روبوتات الحصاد.
من الواضح ، أني أحذف التعليق بإصدار ASCIIالعادي من العنوان بمجرد أن ألصق رابط البريد الإلكتروني المحجوب في المكان المناسب في مصدر HTML بصفحة الويب.
اطلب من المستخدم حل اختبار CAPTCHA قبل إظهار عنوان البريد الإلكتروني له (أو إذا كان لديك نموذج اتصال ، قبل السماح للمستخدم بإرساله).
إنه الأكثر إزعاجًا للمستخدمين ولكنه بالتأكيد الأكثر فاعلية.
أنا من محبي التشويش ، حيث يتم تقديم عنوان البريد الإلكتروني بشكل أساسي مع Javascript.
على سبيل المثال ، يمكن تقديم [email protected]
كـ
<a href="javascript:location='mailto:\u006d\u0079\u0040\u0065\u006d\u0061\u0069\u006c\u002e\u0063\u006f\u006d';void 0">
<script type="text/javascript">document.write('\u006d\u0079\u0040\u0065\u006d\u0061\u0069\u006c\u002e\u0063\u006f\u006d')</script></a>
بالنسبة للمستخدم ، إنه نص عادي ويمكن نسخه ولصقه. الروبوتات من ناحية أخرى ستواجه وقتًا أكثر صعوبة.
ها هي obfuscator اعتدت.
اتجاه واحد:
_ <script language="javascript">
<!--
var name = "user"
var Host1 = "gm"
var Host2 = "ail.com"
var addr =
document.write("<a href=mai" + "lto:" +
name + "@" + Host1 + Host2 +
">" + name + "@" + Host1 + Host2 + "</a>")
//-->
</script>
_
يمكنك كتابة "إلغاء تشفير بريدي الإلكتروني: user at com dot gmail" في <noscript>
علامات لأولئك الذين قاموا بإيقاف تشغيل javascript. بهذه الطريقة تحصل على وظيفة الارتباط التشعبي. لديك فرصة جيدة لإبعاد مرسلي البريد العشوائي عن عنوانك وإيقاف تشغيل جافا سكريبت أو المتصفحات النصية فقط التي لا يزال بإمكانها الحصول على عنوان بريدك الإلكتروني.
لا يمكن أن تساعد جميع تقنيات التشويش في العالم على المدى الطويل إذا كان لديك الكثير من الأشخاص الذين يتصلون بك. كل ما يتطلبه الأمر هو قيام شخص ما بإسقاط رسالة لك والإصابة لاحقًا ببعض البرامج الضارة التي تقوم بمسح البريد الوارد/دفتر العناوين/البريد المرسل/أيًا كان صالحًا لعناوين صالحة ، ثم يتم تمرير عنوانك من هناك إلى قائمة [لديّ جهات اتصال غبية بما يكفي لوضع عنوان البريد الإلكتروني وكلمة المرور هناك في النماذج عبر الإنترنت لأكثر الأسباب غرابة ، ربما كان لديك أيضًا ، كان آخرها موقع عرض لحساب "مخطط تنبؤات البريد الإلكتروني وتنبؤات شخص ما" التي تسببت في إزعاج جميع جهات الاتصال المخادعة على الفور بدعوة إلى نفس الموقع ولا تعرف <deity> سوى القوائم الأخرى التي نستخدمها الآن نتيجة لذلك].
العنوان على مواقع الويب العامة الخاصة بي ليس مجرد عنوان للتخلص منه - إنه موجود في نطاق فرعي للتخلص. إذا بدأت في تلقي رسائل غير مرغوب فيها على هذا المجال الفرعي ، فأنا أقوم بإنشاء مجال جديد ، فقم بتحديث المواقع التي يتم سرد تفاصيل الاتصال الخاصة بي فيها ، وبعد ذلك بوقت قصير أزل النطاق الفرعي بالكامل من سجلات DNS. إذا قمت بذلك ، أو أي تقنيات أخرى لعناوين التخلص ، فتأكد من توضيح (في أي صفحة تسرد العنوان وفي تذييل أي بريد ترسله باستخدام هذا العنوان) أن العنوان سيتغير في المستقبل وإذا كان بإمكان الناس يجب عليهم التحقق مرة أخرى للتأكد من حصولهم على العنوان الصحيح.
هذا له ميزة كونه مجرد عنوان بسيط للأشخاص للنقر (إذا تم ربط المتصفح + mailer الخاصة بهم بهذه الطريقة) أو نسخ + لصق دون الحاجة إلى استخدام أدمغتهم لتحرير العنوان بعد ذلك (أشعر بالدهشة دائمًا بعدد الأشخاص الذين بخلاف ذلك الناس الأذكياء والملتزمين لا يمكنهم الحصول على هذا النوع من الأشياء بشكل صحيح). هذا يعني أيضًا أن خادم البريد لا يقضي أيامه في ارتداد الرسائل المرسلة إلى العناوين "العشوائية" (آرون @ ، آدم @ ، amy01 @ ، ...) في النطاقات الفرعية منتهية الصلاحية. كما أنه لا يخلط بين قارئات الشاشة المستخدمة من قبل المكفوفين أو ضعيف الموقع.
هناك خيار آخر لم أحاوله بعد وهو استخدام AJAX طلب لقراءة عنوان البريد الإلكتروني وتفاصيل أخرى. قد يكون هذا أكثر فعالية بقليل من التشويش المستند إلى document.write
، على الرغم من أنه سيضيف حمولة إضافية بسيطة على خادم الويب.
اعتدت على استخدام نماذج "اتصل بي/بنا" بدلاً من ذلك ، لكنني وجدت أنه يتم إرسال رسائل غير مرغوب فيها بقدر ما ، أحيانًا أكثر من ، عناوين البريد الإلكتروني النص العادي - في بعض الأحيان عن طريق البرامج النصية التي تحاول استخدام النموذج لإنشاء حساب في مكان ما بدلاً من استخدامه كنموذج الاتصال.
لا يا خوسيه! - نعم ، يا جوزيه!
لا توجد أية طريقة على الإطلاق لوقف "حصاد" a href="mailto:"
عناوين البريد الإلكتروني. من المعتقد منذ فترة طويلة أن استخدام جافا سكريبت يعد وسيلة جيدة لمنع معظم روبوتات الحصاد ، ولكن في الوقت الحاضر تعتبر روبوتات اللغة جيدة في التغلب على هذه الطريقة. يمكنهم أيضًا هزيمة الصور التي تحتوي على عناوين بريد إلكتروني ، بنفس الطريقة التي يمكنهم بها هزيمة captcha باستخدام برنامج decaptcha.
الطريقة الأفضل!
تتمثل الطريقة الأفضل في استخدام خدمة بريد حسنة السمعة توفر ميزة حظر البريد العشوائي. Google G Suite و Microsoft Office 365 استخدم خوارزمية لا مثيل لها في أي برنامج في السوق ، معظمها لأنها تتلقى ملايين رسائل البريد الإلكتروني يوميًا وأنها قادرة على "التعلم" والقائمين على إرسال الرسائل غير المرغوب فيها إلى القائمة السوداء قبل فترة طويلة من محاولة إرسال بريد إلكتروني إليك.
في الواقع قبل عام واحد قالت Google أن تقنية التعلم الآلي الخاصة بها تحظر الآن 99.9٪ من رسائل البريد العشوائي ورسائل التصيد الاحتيالي ، لا تستطيع خوادم Microsoft Exchange وخوادم البريد المحلية التي تعمل خلف plesk/cpanel التنافس مع هذه الحماية.
الملخص
حظر البريد العشوائي باستخدام خدمة بريد ذات سمعة قادرة على التعلم الآلي من الذكاء الاصطناعي. يمكنك أيضًا أن تخطو خطوة أخرى عن طريق منع مرسلي البريد العشوائي من زيارة موقعك باستخدام Cloudflare الذي سيكتشف الغالبية العظمى من برامج الروبوت العدوانية قبل وصولهم إلى موقعك.
إذا كان لديك عامل تصفية bot (باستخدام 1x1px ، وشبكة فرعية ، وروبوتات معروفة ، واكتشاف jscript ، و http referrer و agent browser) ، فلا يمكنك ببساطة عرض المعلومات إذا كانت bot.
الحل في PHP:
<?
if (!isbot()) {
echo 'mailto:'.$email_address_for_real_people;
}
else {
echo 'mailto:[email protected]'.$bots_domain_address;
}
?>
أسهل شيء وجدته هو استخدام نموذج جهة اتصال يوجد به عنوان افتراضي ، ولكن أيضًا قدرة المستخدم على تحديد من يجب أن يذهب إليه الاتصال (التسويق ، المبيعات ، الدعم الفني ، إلخ). بعد ذلك ، استنادًا إلى قيمة القائمة المنسدلة ، يتم إرسال بيانات النموذج المنشورة بواسطة الخادم إلى عنوان البريد الإلكتروني المناسب.
قم بتشغيل قائمة جهات الاتصال هذه من جدول قاعدة بيانات حتى تتمكن من تحديث/إضافة إدخالات بسهولة إلى القائمة المنسدلة. وبهذه الطريقة ، لن تقوم أبدًا بعرض أي نوع من العناوين على العالم الواسع من برامج التتبع غير المرغوب فيها ، ولا تزال تمنح المستخدمين طريقة رائعة لإرسال التعليقات.
استخدم Zoho Creator لإعداد نموذج الاتصال. سيتم تخزين التعليقات التي تتلقاها في قاعدة بيانات يمكنك الوصول إليها عبر الإنترنت وسيتم إرسالها إليك عبر البريد الإلكتروني.
يمكنني استخدام وظيفة PHP لإنشاء بعض جافا سكريبت لإخراج البرنامج النصي في وقت التشغيل. لاحظ أنك لا تحتاج PHP لإنشاء JS في وقت التشغيل ، يمكنك إنشاء JS مرة واحدة محليًا ثم تضمين JS ثابت في صفحتك.
يمكنك أيضًا استخدام الوظيفة المرتبطة مع هذا المقتطف أدناه لتعتيم عناوين البريد الإلكتروني تلقائيًا في HTML معين (حيث يكون $ processorContent هو HTML):
$emailMatches = array();
$matchCount = preg_match_all('/(?:[a-zA-Z0-9_\.\-])+\@(?:(?:[a-zA-Z0-9\-])+\.)+(?:[a-zA-Z0-9]{2,4})+/', $processedContent, $emailMatches);
if($matchCount > 0) {
$emailMatches = $emailMatches[0];
foreach($emailMatches as $email) {
$replacement = createJSMailLink($email);
$processedContent = str_replace($email, createJSMailLink($email), $processedContent);
}
}
شيء واحد أفعله هو استخدام API من http://www.stopforumspam.com للتحقق من مرسلي البريد العشوائي. لا تتردد في الاتصال بي لمزيد من التفاصيل وسأكون سعيداً لمساعدتك في ذلك!
براعم مانز
مانز لتصميم المواقع ، ذ م م
لقد استخدمت [email protected] لسنوات. عادةً ما يعرف المستخدمون ما يكفي لحذف "عدم البريد العشوائي".
خلاف ذلك ، أنا فقط استخدام نموذج الاتصال مع "captcha" وأرسل البريد مباشرة من الموقع.
فيما يلي رسالة تشويش أخرى للبريد الإلكتروني: Enkoder ، من Dan Benjamin. يتعلق الأمر بتطبيق على الإنترنت وتطبيق مستقل لنظام التشغيل Mac.
إذا كنت لا تمانع في استخدام javascript ، فيمكنك استخدام شيء مثل ROT13 لتعتيم عنوان البريد الإلكتروني. على سبيل المثال انظر هذا:
http://scott.yang.id.au/2003/06/obfuscate-email-address-with-javascript-rot13/
أنا شخصياً أفضل استخدام نموذج الاتصال بنا ولا تقلق بشأن المتطفلين ، ولكن بالطبع كل هذا يتوقف على متطلباتك.
إذا كنت تستخدم نموذج جهة اتصال ، فيمكنك استخدام الأسلوب الممتع المتمثل في استخدام أسماء عشوائية لإدخالاتك.
على سبيل المثال ، أقوم بإنشاء نموذج جهة اتصال ، بدلاً من استخدام البريد الإلكتروني كمدخلات ، سأستخدم liame ، مع الاسم (eman) والتعليق (tnemmoc). لا تعرف برامج الروبوت فعلًا ما تفعله هذه المدخلات ، لذا فهم يتجاهلونها.
لقد قمت بإعداد نموذج/جدول بيانات محرّر مستندات Google. يمكنني التحقق من إدخالات النموذج مرة واحدة يوميًا ولا يتم إغراق صندوق الوارد الخاص بي.