سؤال

من أجل وضع عناوين البريد الإلكتروني على مواقعي ، أستخدم هذا جافا سكريبت:

function showEmailLink(user, domain, linkText) {
 if (linkText == "") {
  linkText = user + "@" + domain;
 }
 return document.write("<a href=" + "mail" + "to:" + user + "@" + domain
   + ">" + linkText + "<\/a>");
}

لذلك في بلدي لغة البرمجة يمكنني كتابة هذا:

please send me an 
<script type="text/javascript">
  <!--
  showEmailLink("edward","tanguay.info","e-mail");
  //-->
</script>

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

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

ما مدى أمان هذه الطريقة في javaScript البريد الإلكتروني obsfuscation حقا؟

هل كانت مفيدة؟

المحلول

إنها ليست حقًا مسألة "أمان" - أي شيء يمكن للمستخدم العادي رؤيته ليس "آمنًا" لأن أي كيان ضار محدد حقًا يمكنه أن يتصرف كمستخدم منتظم وتقديم/تقييم الصفحة بالفعل.

إنها مسألة ردع أكثر - ما مدى الحصاد الآلي رعاية؟ ليس لدي أرقام دقيقة ، لكن تخميني سيكون أن معظم الحصاد لا يكلفون أنفسهم عناء تقديم الصفحات أو تقييمها بالكامل ، نظرًا لوجود الكثير من الأهداف "الأكثر ليونة" بالنسبة لهم ويستغرق وقتًا أطول لتقييم البرامج النصية للصفحة بالكامل وهو ليس مناسبًا تمامًا للعنكبوت السريع.

إذا كنت ترغب حقًا في ردع الحصاد ، فربما يكون أفضل ردع متاح حاليًا هو شيء يتضمن captcha لاسترداد العنوان مثل ميدان البريد. ومع ذلك ، حتى يمكن إحباط ذلك إذا تم تحديد الحصادة بما فيه الكفاية (بطرق مثل عن قصد أو حتى عن قصد أو غير مدرك Captcha ، وما إلى ذلك).

نصائح أخرى

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

ومع ذلك ، أود أن أشير إلى أنه لا ينبغي عليك ضخ السلاسل التعسفية (مثل اسم المستخدم واسم المجال) في HTML عبر المستند. الكتابة () ، لأن هذا هو ثقب أمان. يجب أن تقوم بإنشاء عقدة واستخدام أساليب getter/setter.

إذا كنت تريد القيام بذلك (وهو ما لا أتفق معه من حيث المبدأ ، كما أعتقد ذلك الكل يجب أن يكون المحتوى متاحًا للمستخدمين بدون JavaScript) ، وستكون الحيلة هي القيام بشيء فريد. إذا كانت طريقتك فريدة من نوعها ، فليس هناك الكثير من نقطة لمؤلفي الكاشطات لترميز حل بديل ، إيه؟

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

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

يمكنك زيادة تكلفة تقديم الصفحة من خلال إجراء بعض الحسابات في showemaillink ().

على الرغم من أنه ليس لدي أي دليل قوي ، إلا أنني أعتقد أن حصاد البريد الإلكتروني لديهم القدرة على تنفيذ رمز JavaScript لعدة سنوات حتى الآن. يعتمد هذا فقط على استخدام وظيفة مشابهة جدًا لعناوين البريد الإلكتروني "حماية" على صفحة عامة لم يتم استخدامها في أي مكان آخر. من المؤكد ، في النهاية بدأوا في تلقي البريد العشوائي.

في الأساس ، لا يتطلب أي شيء يمكنك القيام به إنسانًا لتفسيره في عنوان البريد الإلكتروني واكتبه ، إرادة في النهاية يتم كشطها بواسطة حصاد البريد الإلكتروني. إذا تمكن المتصفح من تنفيذ JavaScript لفك تشفيره ، فهل يمكن ذلك. (ربما يستخدمون المتصفحات للقيام بذلك.)

يذكر Matt Cutts فقط في مقاطع فيديو لمشرف المواقع أن هذه التقنية لم تعد "آمنة" انظر الرابط هنا http://www.youtube.com/watch؟v=ce6Clrfs5e يقول إنه إذا وضعت javaScript في مكان تم إسماعه بواسطة robots.txt ، فلن تضطر إلى القلق بشأن الروبوتات التي تجعل HTML ولكن Google تتحسن في تحليل JavaScript وقد يكون عنوانك قابلاً للبحث في نص واضح إذا كنت تستخدم هذه الطريقة

إذا كنت مثلي ولا تمانع في استخدام JavaScript ، فقد وجدت هذه الصفحة:http://reliableanswers.com/js/mailme.aspيستخدم بشكل أساسي هذا المقتطف:

<script type="text/javascript">
function mailMe(sDom, sUser)
{
  return("mail"+"to:"+sUser+"@"+sDom.replace(/%23/g,"."));
}
</script>
<a href="/contact/" title="Contact Me!"
 onmouseover="javascript:this.href=mailMe('example%23com','me');"
 onfocus="javascript:this.href=mailMe('example%23com','me');">Contact
Me!</a>

تهدئة جيدة تماما.

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