كيفية عرض عنوان بريد إلكتروني للمستخدمين ولكن الاختباء من الروبوت؟ هل هناك طريقة ببساطة للقيام بذلك باستخدام PHP أو JavaScript أو Jquery؟

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

سؤال

هل هناك طريقة أنيقة وسهلة / بسيطة للقيام بذلك باستخدام PHP أو JavaScript أو JQuery؟

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

المحلول

يمكنك استخدام وظيفة PHP ImageTring () لإنشاء صورة.

<?php
// Create a 100*30 image
$im = imagecreate(120, 30);

// White background and blue text
$bg = imagecolorallocate($im, 255, 255, 255);
$textcolor = imagecolorallocate($im, 0, 0, 255);

// Write the email address at the top left
imagestring($im, 5, 0, 0, 'test@test.com', $textcolor);

// Output the image
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

نصائح أخرى

هناك العديد من الطرق للقيام بذلك. لقد كان لدينا SOM Love Sourfuscating Source عبر Python / JavaScript. مفضل أبسط آخر هو تقنية CSS Unicode-Bidi:

div.contact { unicode-bidi:bidi-override; direction: rtl; }
<div class="contact">moc.rab@oof</div>

يطبع خارج:

foo@bar.com.

قد ترغب في النظر في recaptcha mailhide.. وبعد يجب أن يكون سهلا الاستخدام من PHP.

لا تكتب عناوين البريد الإلكتروني أبدا كنص على صفحات الويب، أبدا!

والروبوتات المتصفح لديها بالتأكيد js تمكين -_-

التعويض باستخدام كيانات HTML الممكنة الممكنة و URLENCODE، تم تنفيذه في PHP:http://hcard.geekhood.net/encode/

مصدر:http://code.google.com/p/hcardvalidator/source/browse/trunk/encode/index.php.

نهج آخر استخدمه هو:

<a href="mailto:me@myserver.removethis.com">
<script>[…] a.href = a.href.replace(/removethis\./,'');</script>

تجدر الإشارة إلى أن كلا التقنيتين تعطي المستخدمين يمكن الوصول إليه تماما، وصلة قابلة للنقر.

يمكنك تجربة تغيير الاسم @ example.com إلى: "الاسم على المثال DOT COM".

ومع ذلك، يمكن للروبوتات بسهولة حساب هذا.

خلاف ذلك، يمكنك عرض صورة ديناميكية لعنوان البريد الإلكتروني إذا كنت تحفز حقا.

إنه ليس حلا مثاليا، لكن Enkoder (http://hivelogic.com/enkoder.) مفيد جدا لهذا. يستخدم جافا سكريبت لتحميص العنوان.

نعم. بعد فترة من الوقت، وجدت هذه المادة بلوق حول كيفية القيام بذلك بسهولة.http://techblog.tilllate.com/2008/07/07/20/ten-methods-to-obfuscate-mail-addresses/وكم تأثير يفعله على تلقي الرسائل الاقتحامية ..

أعتقد أن هذا قد يكون مكملا للمعلومات المذكورة أعلاه .. هتافات!

هل هذا العمل كذلك؟

باستخدام شيء مثل هذا

<span>myaddress</span><span>@</span><span>mydomain.com</span>

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

مجرد فكر سريع ...

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

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

حتى تختتم - ربما تكون الصورة أفضل (على الرغم من أنها ليست 100٪)

فيما يلي حل مسج بسيط لهذه المشكلة:

<script type="text/javascript">
$(document).ready(function() {
    str1="mailto:";
    str2="info";
    str3="@test.com";
    $("#email_a").attr("href", str1+str2+str3);

});
</script>

<a href="#" id="email_a"><img src="sample.png"/></a>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top