كيفية إيقاف مرسلي البريد العشوائي من الحصول على عنوان البريد الإلكتروني من رابط Mailto؟ [مكرر

StackOverflow https://stackoverflow.com/questions/769894

سؤال

ينسخ:


ما هي أفضل طريقة لمنع رسائل البريد العشوائية من الحصول على عنوان البريد الإلكتروني من روابط Mailto الخاصة بك؟ أنا تحت الانطباع بأن جافا سكريبت يمكن أن يكون حلا. لا أعرف ما إذا كان الحل الحالي هو دليل أحمق، لذلك لهذا السبب أنا أسأل.

إليك ما أقوم به حاليا:

<script language="JavaScript"><!--
var name = "emailusername";
var domain = "yahoo.com";
var text = "emailusername@yahoo.com";
document.write('<a href=\"mailto:' + name + '@' + domain + '\">');
document.write(text + '</a>');
// --></script>

هل هناك طريقة أفضل؟ لا أحب الاضطرار إلى الحصول على هذا الكود في كل مكان أريد وضع رابط mailto.

نصائح أخرى

جافا سكريبت يساعد، لكن هذا لن يساعد كثيرا. لا يزال عنوان البريد الإلكتروني مرئيا في مصدر HTML باستخدام هذا النوع من البرنامج النصي.

تستخدم خيارات "أفضل" جافا سكريبت جانبي العميل إلى "إنشاء" عنوان البريد الإلكتروني من الأجزاء، لذلك لا يكون عنوان البريد الإلكتروني بأكمله مرئيا أبدا في مصدر HTML في قطعة واحدة. المتصفح يضعه معا بالنسبة لك على العميل.

إصلاح بسيط:

<script language="JavaScript"><!--
var name = "emailusername";
var domain = "yahoo.com";
document.write('<a href=\"mailto:' + name + '@' + domain + '\">');
document.write(name + '@' + domain + '</a>');
// --></script>

أي أساسا هو نفس القصب يشير ولكن معك رمز موجود.

هذا ليس حتى عن بعد طريقة جيدة. سوف Spammers الاستيلاء على كل شيء ومطابقة عناوين مع Regex. لن يزعجهم البحث عن mailto :. أيضا، فإن أي مخطط يمكنك التفكير به مع JavaScript قد تم بالفعل أن يشاهدها البريد العشوائي. في الواقع، ربما سيكونون قادرين فقط على تشغيل JavaScript والحصول على العنوان.

يمكنك

أ) مرشح البريد المزعج
ب) استخدم نموذجا لتقديم البريد (الذي سيستخدمه البريد العشوائي.)

أنت على المسار الصحيح، ولكن وجود emailusername يوجد نوع من الهزائم الغرض (معظم برامج العنكبوت لا تهتم بإجراء التمييز بين HTML ورمز البرنامج النصي، والكلية فقط ابحث عن أي شيء يظهر على البريد الإلكتروني على الصفحة).

لقد سمعت من الأدلة على أن بعض روبوتات العنكبوت لديها القدرة على تشغيل جافا سكريبت الآن، وسوف حل هذا النوع من التبويض من تلقاء نفسها.

لا يوجد طريقة متكررة 110٪ لمنع ذلك، بصرف النظر عن الحيل البكمية التي تعيق استخدام البريد الإلكتروني، مثل وضع جميع عناوين البريد الإلكتروني كصور.

على الأقل شخصيا، قبلت أن العناوين ستحصد على الأقل إلى حد ما. يمكنني استخدام هذه الوظيفة PHP الصغيرة إلى HTML - تشفير جميع عناوين البريد الإلكتروني. وبهذه الطريقة سوف تكون قابلة للاستخدام تماما من خلال جميع المتصفحات الحقيقية، ولكن تخدع أغبى الحصادين. كما قلت، ليس 110٪، لكنني سعيد به.

function turboencode($s){
    $tempstr = "";
    for($i = 0; $i < strlen($s); $i++){
        $c = substr($s, $i, 1);
        $tempstr .= "&#" . ord($c) . ";";
    }
    return $tempstr;
}

أفضل طريقة لمنع الحصاد هي ببساطة عدم وجود mailto: رابط على الإطلاق.

اختصار ذلك، لا يوجد العديد من العدادات. تم تجربة أشياء مثل css content وصورها وتحايلوفت، و javascript هي حلا في منتصف الطريق (وهذا يعني أنه لا يعمل.)

أحد العداد المحتمل هو Exfuscation: إضافة هراء إلى عنوانك مثل هذا:

mailNO`at`SPAMyahoo`dot`com

ومعظم الحصاد الآلي (في البداية) لديهم مشكلة في اكتشافها. بدلا من ذلك، يمكن استخدام أشياء مثل التعليقات لإرباك معظم الحصادات. (يصف RFC822 بناء الجملة الكامل لعناوين البريد الإلكتروني، والذي يتضمن تعليقات كجزء من مواصفات العنوان.)

عداد آخر هو استخدام نموذج مع CAPTCHA من نوع ما.

لا أحد منهم فعالة تماما.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top