স্প্যাম বট থেকে ইমেলটি আড়াল করার কার্যকর পদ্ধতি


195

আমার হোমপেজে, আমি স্প্যাম বটগুলি থেকে আমার ইমেলটি গোপন করতে এই পদ্ধতিটি ব্যবহার করছি:

<a href="admin [at] example.com"
   rel="nofollow"
   onclick="this.href='mailto:' + 'admin' + '@' + 'example.com'">Contact me</a>

আপনি এটি সম্পর্কে কি মনে করেন? এটা কার্যকর? আপনি অন্য কোন পদ্ধতি জানেন বা ব্যবহার করেন?


হয় এটি স্ট্যাকওভারফ্লো / প্রশ্নগুলি / ১ is6362২২৮/২ এর সদৃশ , বা অন্যটি বৈধ নয় কারণ এটি একটি সম্প্রদায়ের উইকি দীর্ঘ তালিকা।
সিওরো সান্তিলি :11 冠状 病 六四 事件 法轮功

5
এটির আরও বেশি upvotes, উত্তর এবং মতামত রয়েছে। এটি অন্য কারও পক্ষে কম উত্তর, মতামত এবং মতামত থাকা বন্ধ করা উচিত নয়।
আবাটিশচেভ

1
এইটিকে আরও বেশি আকর্ষণ করে এমন ঘটনা অনুসরণ করতে আমি তাকে বন্ধ করব।
আবাটিশচেভ

6
সেরা সমাধানটি আপনার সমাধানটি ভাগ করে নেওয়া নয় । দুর্ভাগ্যক্রমে এটি এই ধরণের প্রশ্ন। আপনার সমাধানটি সন্ধান করা এবং এটি নিজের কাছে রাখা ভাল। যদি কোনও মানক হয়ে যায়, স্প্যামবটগুলি এটি কাটিয়ে ওঠার জন্য অভিযোজিত হবে।
দিমিত্রিস

1
সর্বোত্তম সমাধানটি হ'ল নীচের কয়েকটি সমাধানকে একত্রিত করা , উদাহরণস্বরূপ ইমেলের প্রথম অংশ হিসাবে চিত্র, দ্বিতীয় অংশ this.href.replace(/x/g,''), তৃতীয় অংশ হেক্স এনকোডেড ইত্যাদি spam স্প্যাম বট, যতই চালাক না কেন, কোনও বিভিন্ন অংশে ডিকোডিংয়ের বিভিন্ন পদ্ধতি চেষ্টা করবে না ইমেল ঠিকানা।

উত্তর:


98

সার্ভার-সাইড সহ আমি এই পদ্ধতিটি ব্যবহার করেছি, উদাহরণস্বরূপ <!--#include file="emailObfuscator.include" -->যেখানে emailObfuscator.includeনিম্নলিখিতটি রয়েছে:

<!-- // http://lists.evolt.org/archive/Week-of-Mon-20040202/154813.html -->
<script type="text/javascript">
    function gen_mail_to_link(lhs,rhs,subject) {
        document.write("<a href=\"mailto");
        document.write(":" + lhs + "@");
        document.write(rhs + "?subject=" + subject + "\">" + lhs + "@" + rhs + "<\/a>");
    }
</script>

কোনও ঠিকানা অন্তর্ভুক্ত করতে আমি জাভাস্ক্রিপ্ট ব্যবহার করি:

<script type="text/javascript"> 
    gen_mail_to_link('john.doe','example.com','Feedback about your site...');
</script>
<noscript>
  <em>Email address protected by JavaScript. Activate JavaScript to see the email.</em>
</noscript>

যেহেতু আমি ২০০৫ সাল থেকে জিমেইলের মাধ্যমে ইমেল পাচ্ছি, স্প্যামটি প্রায়শই অ-ইস্যু। সুতরাং, আমি এই পদ্ধতিটি কতটা কার্যকর তা বলতে পারি না। আপনি এই গবেষণাটি পড়তে চাইতে পারেন (যদিও এটি পুরানো) এই গ্রাফটি তৈরি করেছে:

এখানে চিত্র বর্ণনা লিখুন


আপনার সার্ভার-সাইডের অন্তর্ভুক্ত কেন দরকার emailObfuscator.include? এটি কি সরল .html এ লেখার মতো হবে না? (সম্ভবত এটি কেবল একটি উদাহরণ?) এছাড়াও আপনি <!-- -->স্ক্রিপ্টের মধ্যে এইচটিএমএল মন্তব্যগুলি ব্যবহার করেন কেন ? এবং অবশেষে আপনার <script>ট্যাগগুলির মধ্যে একটি ছোট ছোট কেন অন্যরা বড় হাতের অক্ষরে থাকবে <SCRIPT>কেন? এই পদ্ধতিগুলি কি বট বা অন্য কিছুকে বিভ্রান্ত করতে সহায়তা করে?
টেম্পলার

@ টেম্পলার এসএসআই প্রয়োজনীয় নয় বা এটি যতদূর জানি আমি বটগুলিকে বিভ্রান্ত করে না। এটি (তৈরি) আমার সাইটকে মডুলার করে তোলে (সত্যিই এই পদ্ধতিটি আর ব্যবহার করবেন না)। মন্তব্যটি হ্যাকটি (এখন একটি ভাঙা লিঙ্ক) কোথায় পেয়েছি তার উত্সের বরাত দিয়েছিল। ক্ষেত্রে পরিবর্তনটি কেবল একটি তাত্পর্যপূর্ণ। এটি যদি বটগুলিকে বিভ্রান্ত করে, তবে আরও ভাল, তবে আমি সন্দেহ করি যে এর কোনও প্রভাব রয়েছে।
ফুহরম্যানেটর

4
একই ধারণাটি অন্বেষণকারী আরও সাম্প্রতিক এবং সম্পূর্ণ অধ্যয়ন: grall.name/posts/1/antiSpam-emailAddressObfuscation.html
লুকাস সিমন

95

সিএসএসে সামগ্রী এবং অ্যাটর্নের সাথে কাজ করা:

.cryptedmail:after {
  content: attr(data-name) "@" attr(data-domain) "." attr(data-tld); 
}
<a href="#" class="cryptedmail"
   data-name="info"
   data-domain="example"
   data-tld="org"
   onclick="window.location.href = 'mailto:' + this.dataset.name + '@' + this.dataset.domain + '.' + this.dataset.tld; return false;"></a>

যখন জাভাস্ক্রিপ্ট অক্ষম করা হবে, কেবল ক্লিক ইভেন্টটি কাজ করবে না, ইমেলটি এখনও প্রদর্শিত হবে।

আর একটি আকর্ষণীয় পদ্ধতির (অন্তত কোনও ক্লিক ইভেন্ট ছাড়াই) লেখার দিকটি ওভাররাইড করার জন্য ডান থেকে বাম চিহ্নটি ব্যবহার করা হবে। এটি সম্পর্কে আরও: https://en.wikedia.org/wiki/Right-to-left_mark


6
এর জন্য আরও থাম্বস আপ প্রয়োজন।
hexer

নিশ্চিত না তবে তবে যদিও এই সমাধানটি বেশ চিত্তাকর্ষক দেখায় এটি আমার ইমেল ক্লায়েন্টকে ট্রিগার করতে ব্যর্থ হয়। এখানে পরীক্ষার জন্য আপনার কাছে একটি বেহালতা
রিকার্ডো জিয়া

1
@ রিকার্ডোজেয়া আপনি কোন ব্রাউজার ব্যবহার করেন? আপনার ফিডল ক্রোম, অর্থাৎ 11, প্রান্ত এবং ফায়ারফক্সে আমার জন্য দুর্দান্ত কাজ করে
সাইপটাস

3
অসাধারণ. তবে অনক্লিক-ইভেন্টে একটি "রিটার্ন মিথ্যা" যুক্ত করুন। এটি ব্রাউজারের ইউআরএলটিতে #
কুরুচিপূর্ণ

5
তবুও - আমি ম্যানুয়ালি (দৃশ্যমান) মেল ঠিকানাটি (ক্রোম, ফায়ারফক্স বা এজড উভয়ই) অনুলিপি করতে পারি না?
T4NK3R

83

এই পদ্ধতিটি দেখুন , বেশ চালাক এবং CSS ব্যবহার করে।

সিএসএস

span.reverse {
  unicode-bidi: bidi-override;
  direction: rtl;
}

এইচটিএমএল

<span class="reverse">moc.rehtrebttam@retsambew</span>

উপরের সিএসএস এর পরে পড়ার দিকটিকে ওভাররাইড করবে এবং পাঠ্যটি সঠিক ক্রমে উপস্থাপন করবে।

আশা করি এটা সাহায্য করবে

চিয়ার্স


54
এটা অবশ্যই মজার। তবে দুর্ভাগ্যক্রমে, এটি ক্লিকযোগ্য নয় এবং ব্রেইল পাঠকদের মতো কোনও নন-সিএসএস ব্রাউজারকে অবহেলা করার সময় অনুলিপি / পেস্টের জন্য কাজ করবে না।
আরজান

Mhh দুর্দান্ত, তবে যারা ক্রলার লেখেন তারা একবার এটি দেখতে পারা যায় না, এটি অকেজো হয়ে যায়।
মাউ

6
কোনও রেজিএক্সের সাথে বিপরীত ই-মেইল ঠিকানার সাথে মিল মিলানো ঠিক এটি বিপরীত বিপরীতে মিলানোর মতোই সহজ। স্প্যামিং একটি বিলিয়ন ডলারের ব্যবসা এবং স্প্যামারগুলি এমনকি তাদের নিজস্ব সিপিইউ চক্রগুলি স্ক্রিনগুলি স্ক্র্যাপ করতে ব্যবহার করছে না। আসলে, তারা ইতিমধ্যে এই কথোপকথনটি পড়েছে এবং সে অনুযায়ী তাদের পদ্ধতিগুলি সামঞ্জস্য করেছে। যে কোনও কম্পিউটারে পঠনযোগ্য বটগুলি পাঠযোগ্য হতে চলেছে। এটি সিএসএস বা জাভাস্ক্রিপ্ট দ্বারা কার্যকর করা হবে।
জানি হাইতিয়েনেন

3
@ জানিহাইটিউইন আমি একমত নই তারা সিপিইউর জন্য অর্থ প্রদান করছে না, তার অর্থ এই নয় যে তাদের সীমাহীন সংস্থান রয়েছে। যদি কোনও জেএস ইন্টারপ্রেটার চালানো যদি এর ব্যয়ের জন্য খুব কম ঠিকানা দেয় তবে তারা এটিকে অক্ষম করে দেবে।
o0 '

1
@ লোহরিস: গুগল গড় পৃষ্ঠা লোড টাইম (২.৪৫ সেমি) এবং গড় পৃষ্ঠার আকার (৩২০ কেবি) প্রতিবেদন করে, এটি আপনাকে একটি ধারণা দেয় যে আপনি কত পার্সিং করতে পারবেন। ডাউনলোড করার থ্রেড অনুরোধগুলি করার সময়, একটি পার্সিং থ্রেড পার্সিং করতে পারে। বেশিরভাগ ডাউনলোড করার অপেক্ষায় রয়েছে। যা ডিএল থ্রেডকে পার্সারে প্রেরণের সিদ্ধান্ত নেওয়ার পূর্বে পূর্বশর্তগুলি পরীক্ষা করার সম্ভাবনা দেয়। উদাহরণস্বরূপ, রেন্ডারিং পৃষ্ঠা, সূচিপত্র ('@'), সূচিপত্র ('মেলটো:'), ইত্যাদি পার্সিং থ্রেডটি ম্যাচটির চারপাশে কেবলমাত্র + -200 অক্ষর প্রাপ্ত হত যা এত জটিল বিশদকরণের অনুমতি দেয় যে এটি 'উপস্থিত' অসীম হতে পারে would পার্সিং পাওয়ার শর্তাবলী।
জানি হাইতিয়েনেন

52

আমি এই সম্পূর্ণ ভিন্ন গ্রহণ আছে। আমি এর জন্য মেলহাইড ব্যবহার করি ।

মেলহাইড গুগলের একটি সিস্টেম যার মাধ্যমে তাদের কাছে ইমেলটি প্রকাশের জন্য ব্যবহারকারীকে একটি পুনরায় টেপচা পরীক্ষা সম্পন্ন করতে হবে।


15
যদিও এই লিঙ্কটি প্রশ্নের উত্তর দিতে পারে, উত্তরের প্রয়োজনীয় অংশগুলি এখানে অন্তর্ভুক্ত করা এবং রেফারেন্সের জন্য লিঙ্কটি সরবরাহ করা ভাল। লিঙ্কযুক্ত পৃষ্ঠাগুলি পরিবর্তিত হলে লিঙ্ক-শুধুমাত্র উত্তরগুলি অবৈধ হতে পারে।
শোদেব

5
যদিও আমি সাধারণত এই অনুভূতির সাথে একমত, এই ক্ষেত্রে উত্তরটি একটি নির্দিষ্ট সরঞ্জাম ব্যবহার করা। লিঙ্কটি যদি না যায় তবে আমি উত্তরটি মুছব।
টভানফসন

ধন্যবাদ - এটি দুর্দান্ত। আমি এই জাতীয় কিছু লিখছি (লিঙ্কটি প্রকাশ করুন): আমাকে একটি ইমেল পাঠান: প্রকাশ করুন
chrs

6
নোট করুন যে গুগল ম্যাচহাইডকে ম্যাচ 2018 হিসাবে অক্ষম করেছে always সর্বাধিক অবিশ্বাস্য সংস্থা বিনামূল্যে পরিষেবা সরবরাহ করার জন্য। আপনি যা করতে চেষ্টা করছেন তার উপর আপনার যদি রিলে দরকার হয় তবে আমি গুগল বা কারও এলিস পরিষেবা থেকে দূরে থাকব।
মাসি

51

আমার ধারণাটি মূলত নয় তবে আমি লেখককে খুঁজে পাচ্ছি না:

<a href="mailto:coxntact@domainx.com"
    onmouseover="this.href=this.href.replace(/x/g,'');">link</a>

আপনার পছন্দ অনুসারে যতগুলি এক্স যোগ করুন। এটি পড়তে, অনুলিপি করতে এবং পেস্ট করতে পুরোপুরি কাজ করে এবং বট দ্বারা পড়া যায় না।


2
ঝরঝরে! তবে মোবাইল ব্যবহারকারীদের কী হবে?
বোডজিও

আপনি যখন কোনও লিঙ্কটি স্পর্শ করেন তখন মাউসওভারগুলিও ট্রিগার হয়। এটা ঠিক কাজ করা উচিত।
অ্যান্ড্রু সুইফট

4
যতক্ষণ না আপনার ঠিকানায় কোনও এক্স নেই। :-p তবে, আমি জানি, কেবল একটি আলাদা অক্ষর ব্যবহার করুন।
ড্যান হেন্ডারসন 19

1
তবে যদি জাভাস্ক্রিপ্ট অক্ষম করা থাকে আপনি ব্যবহারকারীদের অস্তিত্বহীন ঠিকানার সাথে উপস্থাপন করছেন যা আপনার গ্রাহক / ব্যবহারকারীকে হারিয়ে পিছনে ফিরে আসবে।
জিভিস

34
জাভাস্ক্রিপ্ট অক্ষম থাকলে, আমার সাইটগুলির
অ্যান্ড্রু সুইফট

16

আমার মনে হয় আপনার কাছে থাকতে পারে এমন একটি বোধক পদ্ধতিটি হ'ল একটি পরিচিতি পৃষ্ঠা পৃষ্ঠা তৈরি করুন যা এমন ফর্ম যা আপনার ইমেল ঠিকানায় প্রেরণ করা কোনও স্ক্রিপ্টে জমা দেয়। এইভাবে, আপনার ঠিকানা জনসাধারণের কাছে কখনই উন্মুক্ত নয়। এটি কোনও কারণে অনাকাঙ্ক্ষিত হতে পারে তবে আমি মনে করি এটি বেশ ভাল সমাধান। যখন আমি তাদের সাইট থেকে আমার মেইল ​​ক্লায়েন্টের কাছে কারও ইমেল ঠিকানাটি অনুলিপি / পেস্ট করতে বাধ্য করি তখন তা আমাকে প্রায়ই বিরক্ত করে; আমি বরং তাদের সাইটে কোনও ফর্মের মাধ্যমে এটি করতে চাই। এছাড়াও, এই পদ্ধতির সাহায্যে আপনাকে বেনামে মন্তব্যগুলি প্রেরণ করা যায়, ইত্যাদি Just কিছু ধরণের অ্যান্টি-বট স্কিম যেমন ক্যাপচা ব্যবহার করে আপনার ফর্মটি সুরক্ষিত করার বিষয়ে নিশ্চিত হন। এসওতে তাদের প্রচুর আলোচনা রয়েছে।


6
এটির সাথে একমাত্র সমস্যা হ'ল আপনি যে বার্তাটি প্রেরণ করেছেন সেটির অনুলিপি আপনার কাছে নেই যদি না আপনি এটির অন্য কোনও জায়গায় অনুলিপি করার জন্য সময় না নেন take ব্যক্তিগতভাবে আমি অনুলিপি এবং পেস্ট করতে কিছু মনে করি না তবে প্রতিটি তাদের নিজস্ব।
gvkv

6
প্রেরকের অনুলিপি না থাকায়: ওয়েবে বিভিন্ন ধরণের ফর্মের জন্য আমি নিজেই অনুলিপি পাওয়ার বিকল্পটি পছন্দ করি। তবে, প্রায়শই এই জাতীয় বিকল্পটি বেনামে কেবল কারও কাছে বার্তা প্রেরণের জন্য অপব্যবহারের অনুমতি দেয় ...
আরজান

12
এটি আপনার ইমেল ঠিকানাটি লুকিয়ে রাখতে পারে, তবে আপনি কোনও ক্যাপচা চিত্র বৈধকরণ স্ক্রিপ্ট দিয়ে আপনার ফর্মটি সুরক্ষিত না করে এটি স্প্যামকে মোটেই থামিয়ে দেবে না।
সাইমনডাডলস

1
প্রেরকের অনুলিপি না থাকার সমস্যাটিও আপনি তাদের কাছে প্রেরণের জন্য একটি বিকল্প অন্তর্ভুক্ত করে সমাধান করতে পারেন।
স্টিনিবোট

1
"নিজের কাছে একটি অনুলিপি প্রেরণ করুন" বিকল্পটি - কার্যকরভাবে ফর্মটিকে স্প্যাম-ক্যাননে রূপান্তর করে, প্রেরক হিসাবে আপনাকে - খারাপ ধারণা!
T4NK3R

15

ওয়েব পৃষ্ঠায় বটগুলি থেকে নিরাপদ ইমেল ঠিকানা তৈরি করা দেখুন ?

ফেসবুক এবং অন্যরা আপনার ইমেল ঠিকানার একটি চিত্র যেভাবে রেন্ডার করে তা আমি পছন্দ করি।

আমি অতীতে দ্য এনকোডারটিও ব্যবহার করেছি - ভেবেছি সততা হওয়া খুব ভাল ছিল!


10

আপনার যদি পিএইচপি সমর্থন থাকে তবে আপনি এই জাতীয় কিছু করতে পারেন:

<img src="scriptname.php">

এবং স্ক্রিপ্টনাম.এফপি:

<?php
header("Content-type: image/png");
// Your email address which will be shown in the image
$email    =    "you@yourdomain.com";
$length    =    (strlen($email)*8);
$im = @ImageCreate ($length, 20)
     or die ("Kann keinen neuen GD-Bild-Stream erzeugen");
$background_color = ImageColorAllocate ($im, 255, 255, 255); // White: 255,255,255
$text_color = ImageColorAllocate ($im, 55, 103, 122);
imagestring($im, 3,5,2,$email, $text_color);
imagepng ($im);
?>

1
পিএইচপি ব্যবহার না করে আপনি শারীরিকভাবে চিত্রটি তৈরি করতে পারেন। এবং CSS বিপরীত হিসাবে আপনি এখনও ক্লিকযোগ্য না হওয়ার সমস্যা আছে এবং কলম ব্যবহার না করে অনুলিপি করা যাবে না: পি
ক্লডিউ

9

আমি জানি আমার উত্তরটি অনেকে পছন্দ করবেন না তবে দয়া করে থাম্ব করার আগে এখানে বর্ণিত পয়েন্টগুলি বিবেচনা করুন।

মেশিন দ্বারা সহজেই পঠনযোগ্য যেকোন কিছুই স্প্যামারদের দ্বারা সহজেই মেশিন পাঠযোগ্য হবে। যদিও তাদের ক্রিয়াকলাপগুলি আমাদের কাছে বোকা মনে হলেও তারা মূ .় লোক নয়। তারা উদ্ভাবনী এবং সম্পদশালী। তারা কেবল ই-মেইল সংগ্রহের জন্য বট ব্যবহার করে না, তাদের ব্যবহারের পদ্ধতিগুলির আধিক্য রয়েছে এবং এটি ছাড়াও তারা কেবল ই-মেইলের ভাল নতুন তালিকাগুলির জন্য অর্থ প্রদান করে। এর অর্থ হ'ল, তারা তাদের কাজ সম্পাদনের জন্য বিশ্বব্যাপী হাজার হাজার ব্ল্যাক-হ্যাট হ্যাকার পেয়েছিল। ম্যালওয়্যার কোড দেওয়ার জন্য প্রস্তুত লোকেরা যা অন্য লোকের ব্রাউজারগুলির পর্দা স্ক্র্যাপ করে যা অবশেষে আপনি অকেজো অর্জনের চেষ্টা করছেন এমন কোনও পদ্ধতি রেন্ডার করে। এই থ্রেডটি ইতিমধ্যে 10+ জন লোকেরা পড়েছেন এবং তারা আমাদের দেখে হাসছেন। তাদের মধ্যে কেউ কেউ এমনকি অশ্রুতে বিরক্ত হতে পারে তা জানতে আমরা তাদের কাছে নতুন চ্যালেঞ্জ রাখতে পারি না।

মনে রাখবেন যে আপনি শেষ পর্যন্ত আপনার সময় নয় অন্যদের সময় বাঁচানোর চেষ্টা করছেন। এ কারণে, দয়া করে এখানে কিছু অতিরিক্ত সময় ব্যয় করার বিষয়টি বিবেচনা করুন। কার্যকর কোন ম্যাজিক বুলেট কার্যকর হবে না is আপনি যদি এমন একটি প্রতিষ্ঠানে কাজ করেন যা সাইটে 100 জন লোকের ই-মেইল প্রকাশ করে এবং আপনি প্রতি জন প্রতি দিন 1 টি স্প্যাম ইমেল হ্রাস করতে পারেন, আমরা বছরে 36500 টি স্প্যাম ইমেল নিয়ে কথা বলছি। যদি এই জাতীয় ইমেল মুছে ফেলার জন্য গড়ে 5 সেকেন্ড সময় লাগে, আমরা বার্ষিক প্রায় 50 কার্যদিবসের কথা বলছি। বিরক্তির হ্রাস পরিমাণ উল্লেখ না করে। সুতরাং, কেন এই কয়েক ঘন্টা ব্যয় না?

এটি কেবল আপনি এবং সেই ইমেলগুলিই নয় যে সময়কে একটি সম্পদ হিসাবে বিবেচনা করে। অতএব, আপনাকে অবশ্যই ইমেল ঠিকানাগুলি এমনভাবে অবিরাম করার একটি উপায় খুঁজে বের করতে হবে, যাতে এটি ক্র্যাক করার জন্য অর্থ প্রদান করে না। আপনি যদি ই-মেলগুলি অস্পষ্ট করতে কিছু বিস্তৃত ব্যবহৃত পদ্ধতি ব্যবহার করেন তবে এটি ক্র্যাক করার জন্য এটি সত্যিকার অর্থে প্রদান করে। ফলস্বরূপ, ক্র্যাকার হাজার বা তাদের দশ হাজার বা হাজারে তাজা ই-মেইলগুলিতে হাত পাবে। এবং তাদের জন্য, তারা অর্থ পাবে।

সুতরাং, এগিয়ে যান এবং আপনার নিজস্ব পদ্ধতি কোড। এটি এমন একটি বিরল ঘটনা যেখানে চাকাটিকে পুনর্বহাল করা সত্যিই বন্ধ হয়ে যায়। এমন একটি পদ্ধতি ব্যবহার করুন যা মেশিন পঠনযোগ্য নয় এবং ব্যবহারকারীর অভিজ্ঞতা ত্যাগ ছাড়াই কিছু ব্যবহারকারীর ইন্টারঅ্যাকশন প্রয়োজন pre

আমি কী বলতে চাইছি তার একটি উদাহরণ কোড করতে আমি 20 মিনিট সময় ব্যয় করেছি। উদাহরণস্বরূপ, আমি নকআউটজেএস কেবলমাত্র এটি পছন্দ করার কারণে ব্যবহার করেছি এবং আমি জানি আপনি সম্ভবত এটি ব্যবহার করবেন না। তবে এটি যাইহোক অপ্রাসঙ্গিক। এটি একটি কাস্টম সমাধান যা ব্যাপকভাবে ব্যবহৃত হয় না। এটির ক্র্যাকিংয়ের ফলে এটি করার জন্য কোনও পুরস্কার হবে না কারণ এটি করার পদ্ধতিটি কেবলমাত্র বিশাল ইন্টারনেটের একক পৃষ্ঠায় কাজ করবে।

এই হিটটি এখানে: http://jsfiddle.net/hzaw6/

নীচের কোডটি ভাল কোডের উদাহরণ হিসাবে বোঝানো হয়নি। তবে কোডের কেবলমাত্র একটি দ্রুত নমুনা যা মেশিনের পক্ষে এটি নির্ধারণ করা খুব শক্ত যে আমরা এখানে ই-মেলগুলিও পরিচালনা করি। এমনকি এটি করা সম্ভব হলেও এটি বড় পরিমাণে কার্যকর করার জন্য অর্থ প্রদান করবে না।

এবং হ্যাঁ, আমি জানি যে এটি অপরিজ্ঞাত বা নাল রেফারেন্সের 'সম্পত্তি' পেতে 'অক্ষম' বলে IE = lte8 এ কাজ করে না তবে আমি কেবল যত্ন করি না কারণ এটি কেবল পদ্ধতির একটি ডেমো, প্রকৃত বাস্তবায়ন নয়, এবং উত্পাদন হিসাবে যেমন হয় তেমন ব্যবহার করার উদ্দেশ্যে নয়। আপনার নিজের কোড করতে নির্দ্বিধায় যা শীতল, প্রযুক্তিগতভাবে আরও শক্ত ইত্যাদি is

ওহ, এবং কখনও কখনও এইচটিএমএল বা জাভাস্ক্রিপ্টে কোনও মেল বা ইমেলের নাম রাখবেন না। কোনও নামযুক্ত মেইল ​​বা ইমেলের জন্য ডিওএম এবং উইন্ডো অবজেক্টটি স্ক্র্যাপ করা খুব সহজ and এজন্য আপনি কোনও ভেরিয়েবলগুলি চান না যে এটির পুরো ফর্মের মধ্যে ই-মেইল রয়েছে এবং আপনি এ জাতীয় ভেরিয়েবলগুলি নির্ধারণের আগে ব্যবহারকারীকে পৃষ্ঠাটির সাথে ইন্টারঅ্যাক্ট করতে চান কেন। যদি আপনার জাভাস্ক্রিপ্ট অবজেক্ট মডেলটিতে ডোম প্রস্তুত রাষ্ট্রের কোনও ইমেল ঠিকানা থাকে তবে আপনি সেগুলি স্প্যামারগুলিতে প্রকাশ করছেন।

এইচটিএমএল:

<div data-bind="foreach: contacts">
    <div class="contact">
        <div>
            <h5 data-bind="text: firstName + ' ' + lastName + ' / ' + department"></h5>
            <ul>
                <li>Phone: <span data-bind="text: phone"></span></li>
                <li><a href="#999" data-bind="click:$root.reveal">E-mail</a> <span data-bind="visible: $root.msgMeToThis() != ''"><input class="merged" data-bind="value: mPrefix" readonly="readonly" /><span data-bind="text: '@' + domain"></span></span></li>
            </ul>
        </div>
    </div>
</div>

জেএস

function ViewModel(){
    var self = this;

    self.contacts = ko.observableArray([
        { firstName:'John', mPrefix: 'john.doe', domain: 'domain.com', lastName: 'Doe', department: 'Sales', phone: '+358 12 345 6789' },
        { firstName:'Joe', mPrefix: 'joe.w', domain: 'wonder.com', lastName: 'Wonder', department: 'Time wasting', phone: '+358 98 765 4321' },
        { firstName:'Mike', mPrefix: 'yo', domain: 'rappin.com', lastName: 'Rophone', department: 'Audio', phone: '+358 11 222 3333' }
    ]);
    self.msgMeToThis = ko.observable('');
    self.reveal = function(m, e){
        var name = e.target.attributes.href.value;
        name = name.replace('#', '');
        self.msgMeToThis(name);
    };
}
var viewModel = new ViewModel();
ko.applyBindings(viewModel);

8

আমার প্রিয় পদ্ধতির একটি হ'ল পিএইচপি ব্যবহার করে ইমেল ঠিকানাটি অস্পষ্ট করা, একটি সর্বোত্তম উদাহরণ হ্যারেক্স মানগুলিতে অক্ষরগুলিকে রূপান্তর করা:

function myobfiscate($emailaddress){
 $email= $emailaddress;                
 $length = strlen($email);                         
 for ($i = 0; $i < $length; $i++){                
 $obfuscatedEmail .= "&#" . ord($email[$i]).";";
 }
 echo $obfuscatedEmail;
}

এবং তারপরে আমার মার্কআপে আমি কেবল এটি নীচে কল করব:

  <a href="mailto:<?php echo myobfiscate('someone@somewhere.com'); ?>"
title="Email me!"><?php echo myobfiscate('someone@somewhere.com');?> </a>

তারপরে আপনার উত্সটি পরীক্ষা করুন, আপনি আনন্দিতভাবে অবাক হবেন!


এটি একটি দুর্দান্ত উদাহরণ। ধন্যবাদ। এইচএক্স ডিকোডিং ব্যবহার করে স্প্যামবটসের মতো কোনও সূত্র?
জেসনফ্লেহার্টি

7

আপনি হেক্সায় এইচটিএমএল সত্তা ব্যবহার করে অক্ষরগুলি আড়াল করার চেষ্টা করতে পারেন (উদাহরণ: & # x40 @ এর জন্য)। এটি সুবিধাজনক সমাধান, কারণ একটি সঠিক ব্রাউজার এটি অনুবাদ করবে এবং আপনার একটি সাধারণ লিঙ্ক থাকতে পারে। ত্রুটিটি হ'ল কোনও বট তাত্ত্বিকভাবে এটি অনুবাদ করতে পারে তবে এটি কিছুটা অস্বাভাবিক। আমি এটি আমার ব্লগে আমার ইমেইল রক্ষা করতে ব্যবহার করি।

আর একটি সমাধান হ'ল জাভাস্ক্রিপ্ট ব্যবহার করে ঠিকানার অংশটি একত্রিত করতে এবং ঠিকানার মাধ্যমে ডিকোড করতে। অপূর্ণতা হ'ল একটি জাভাস্ক্রিপ্ট-অক্ষম ব্রাউজার আপনার ঠিকানা দেখায় না won't

সর্বাধিক কার্যকর সমাধানটি কোনও চিত্র ব্যবহার করা , তবে ব্যবহারকারীকে নিজের হাতে ঠিকানাটি অনুলিপি করতে পারা ব্যথা।

আপনার সমাধানটি বেশ ভাল , যেহেতু আপনি কেবল জাভাস্ক্রিপ্ট অক্ষম করে এমন ব্যবহারকারীর জন্য একটি অপূর্ণতা (ম্যানুয়ালি @ লিখেছেন) যুক্ত করুন। আপনি এর সাথে আরও সুরক্ষিত হতে পারেন:

onclick="this.href='mailto:' + 'admin' + '&#x40;' + 'domain.com'"

5

স্প্যামবটস এটি ব্যাখ্যা করবে না, কারণ এটি একটি কম-পরিচিত পদ্ধতি :)

প্রথমে সিএসএস সংজ্ঞায়িত করুন:

email:before {
    content: "admin";
}

email:after {
    content: "@example.com";
}

এখন যেখানেই আপনি আপনার ইমেলটি প্রদর্শন করতে চান, কেবল নীচের HTMLটি সন্নিবেশ করুন:

<div id="email"></div>

আর তদা!


এটি কাজ করে, তবে এটি অনুলিপি পেস্ট সমর্থন করে না, যা বেশিরভাগ ব্যবহারকারীর জন্য ব্যবহারযোগ্যতার উপর প্রভাব ফেলতে পারে
Iruku Kagika

4

আমি সিএসএস এবং jQuery এর খুব সাধারণ সংমিশ্রণ ব্যবহার করি যা ব্যবহারকারীর ইমেল ঠিকানাটি সঠিকভাবে প্রদর্শন করে এবং অ্যাঙ্করটি ক্লিক করা বা আটকানো অবস্থায়ও কাজ করে:

এইচটিএমএল:

<a href="mailto:me@example.spam" id="lnkMail">moc.elpmaxe@em</a>

সিএসএস:

#lnkMail {
    unicode-bidi: bidi-override;
    direction: rtl;
}

JQuery:

$('#lnkMail').hover(function(){
    // here you can use whatever replace you want
    var newHref = $(this).attr('href').replace('spam', 'com');
    $(this).attr('href', newHref);
});

এখানে একটি কাজের উদাহরণ।


ব্রাউজারের স্থিতি দণ্ডে href এর সঠিক মানটি প্রদর্শিত হবে যখন লিঙ্কটি আটকানো হবে?
নিক ও'লাই

হ্যাঁ, লিঙ্কটি আটকানো অবস্থায় এটি href এর সঠিক মানটি দেখায়। এজন্য jQuery পদ্ধতি .ওভার প্রয়োগ করা প্রয়োজন।
সের্গিউ

দুর্ভাগ্যক্রমে, না, আপনি যখন প্রথমবার লিঙ্কটি ঘুরে দেখেন তখন এটি কমপক্ষে href এর সঠিক মানটি দেখায় না (এটি me@example.spam)। দ্বিতীয় হোভারে সবকিছু ঠিক ছিল। এটি আপনার নিজের লিঙ্ক দিয়ে পরীক্ষা করুন।
নিক ও'লাই

1
এটি ক্রোম এবং আইইতে কাজ করছে। প্রথম হোভারে কেবল ফায়ারফক্সের মতো মনে হয়, স্ট্যাটাস বারটি আপডেট হয় না। আমি ফায়ারফক্সের জন্য একটি সমাধান খুঁজতে চেষ্টা করব
সার্জিউ

1
আমি দেখতে পাচ্ছি, আমি আসলে এটি পছন্দ করি।
এরিক বিশার্ড

3

! - রেফারেন্সের জন্য এটি যুক্ত করা, তথ্যটি কতটা পুরানো হতে পারে তা জানেন না তবে এটি কয়েকটি সাধারণ সমাধান সম্পর্কে জানায় যা কোনও স্ক্রিপ্টিং ব্যবহারের প্রয়োজন হয় না

এটি অনুসন্ধান করার পরে আমি নিজেই এই পৃষ্ঠাটি জুড়ে এসেছি তবে এই পৃষ্ঠাগুলি:

http://nadeausoftware.com/articles/2007/05/stop_spammer_email_harvesters_obfuscating_email_addresses

ইমেলড্রেসটি উল্টানোর চেষ্টা করুন

সরল এইচটিএমএল উদাহরণ:

<bdo dir="rtl">moc.elpmaxe@nosrep</bdo>
Result : person@example.com

সিএসএস ব্যবহার করে একই প্রভাব

CSS:
.reverse { unicode-bidi:bidi-override; direction:rtl; }
HTML:
<span class="reverse">moc.elpmaxe@nosrep</span>
Result : person@example.com

পূর্বে উল্লিখিত যে কোনও পদ্ধতির সাথে এটি একত্রিত করা এটি আরও কার্যকর করতে পারে


3

একটি সহজ সমাধান হ'ল প্রকৃত অক্ষরের পরিবর্তে এইচটিএমএল সত্তা ব্যবহার করা। উদাহরণস্বরূপ, "me@example.com" রূপান্তরিত হবে:

<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#109;&#101;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;">email me</A>

2
Google.se/search?q=HTML+entities+ কনভার্টারের চেষ্টা করুন যা আপনাকে ব্যস্ত রাখে;)
গ্রেপফ্রাক্ট

1
গুগল তার জন্য আপনাকে প্রচুর পৃষ্ঠা খুঁজে পেতে পারে। একটি উদাহরণ: hp.vector.co.jp/authors/VA022023/javascript/…
রোমেন লিনসোলাস

4
কিন্তু একটি বট ঠিক সহজেই রেজিগ্স করতে পারে না?
গারগান্টুয়ান

20
অনেক, me @ stack ... উদাহরণটি আরও ভালভাবে me@example.com, me@example.net বা me@example.org হিসাবে লেখা উচিত - এই একমাত্র ডোমেন নাম যা অ-মালিকদের উদাহরণ হিসাবে ব্যবহার করা উচিত!
আরজান


3

এখানে আমার কাজের সংস্করণ:


ফ্যালব্যাক পাঠ্য সহ কোথাও একটি ধারক তৈরি করুন:

<div id="knock_knock">Activate JavaScript, please.</div>

এবং ডিওএমের নীচে (রেন্ডারিংকে কব্জি করুন) নীচে স্নিপেট যুক্ত করুন:

<script>
  (function(d,id,lhs,rhs){
    d.getElementById(id).innerHTML = "<a rel=\"nofollow\" href=\"mailto"+":"+lhs+"@"+rhs+"\">"+"Mail"+"<\/a>";
  })(window.document, "knock_knock", "your.name", "example.com");
</script>

এটি নির্দিষ্ট পাত্রে উত্পন্ন হাইপারলিঙ্ক যুক্ত করে:

<div id="knock_knock"><a rel="nofollow" href="your.name@example.com">Mail</a></div>

এছাড়াও এখানে একটি সংক্ষিপ্ত সংস্করণ রয়েছে:

<script>(function(d,i,l,r){d.getElementById(i).innerHTML="<a rel=\"nofollow\" href=\"mailto"+":"+l+"@"+r+"\">"+"Mail"+"<\/a>";})(window.document,"knock_knock","your.name","example.com");</script>

2

ইমেল ঠিকানাগুলি গোপন করার সর্বোত্তম পদ্ধতিটি কেবল তখনই ভাল তবে বট প্রোগ্রামার এই "এনকোডিং" আবিষ্কার করে এবং একটি ডিক্রিপশন অ্যালগরিদম প্রয়োগ করে না।

জাভাস্ক্রিপ্ট বিকল্পটি বেশি দিন কাজ করবে না, কারণ জাভাস্ক্রিপ্টের ব্যাখ্যা করার জন্য প্রচুর ক্রলার রয়েছে।

উত্তর নেই, ইমো।


সেখানে কি জাভাস্ক্রিপ্টের ব্যাখ্যার ক্রোলার রয়েছে? আমার একটি জাভাস্ক্রিপ্ট এনকোডিং পদ্ধতিটি গত কয়েক বছর ধরে আমার পক্ষে ভালভাবে কাজ করেছে বলে মনে হচ্ছে - আমার স্প্যামের হার মোটামুটি স্থিতিশীল ~ 4 / সপ্তাহ হয়ে গেছে, তাই আমি এই পদ্ধতির উপর অর্পিত অন্য ব্যক্তির ঠিকানা সম্পর্কে আমি উদ্বিগ্ন হইনি। আমি কি?
কেভ

নিশ্চিতভাবেই, এটি প্রচুর
ক্রোলারকে

আপনি যা ভাবেন তার চেয়ে বেশি প্রচেষ্টা
বেনামে কাপুরুষ

গুগল এখন কিছু জেএসের মাধ্যমে ক্রল করছে।
আলিস্টার বুলম্যান

2

সম্ভবত এমন বট রয়েছে যা প্রতীক [at]হিসাবে এবং অন্যান্য ছদ্মবেশকে স্বীকৃতি দেয় @। সুতরাং এটি সত্যিই কার্যকর পদ্ধতি নয়।

নিশ্চিত যে আপনি কিছু এনকোডিং যেমন ইউআরএল এনকোড বা এইচটিএমএল অক্ষর রেফারেন্স (বা উভয়) ব্যবহার করতে পারেন:

// PHP example
// encodes every character using URL encoding (%hh)
function foo($str) {
    $retVal = '';
    $length = strlen($str);
    for ($i=0; $i<$length; $i++) $retVal.=sprintf('%%%X', ord($str[$i]));
    return $retVal;
}
// encodes every character into HTML character references (&#xhh;)
function bar($str) {
    $retVal = '';
    $length = strlen($str);
    for ($i=0; $i<$length; $i++) $retVal.=sprintf('&#x%X;', ord($str[$i]));
    return $retVal;
}

$email = 'user@example.com';
echo '<a href="'.bar('mailto:?to=' . foo(','.$email.'')).'">mail me</a>';

// output
// <a href="&#x6D;&#x61;&#x69;&#x6C;&#x74;&#x6F;&#x3A;&#x3F;&#x74;&#x6F;&#x3D;&#x25;&#x32;&#x43;&#x25;&#x37;&#x35;&#x25;&#x37;&#x33;&#x25;&#x36;&#x35;&#x25;&#x37;&#x32;&#x25;&#x34;&#x30;&#x25;&#x36;&#x35;&#x25;&#x37;&#x38;&#x25;&#x36;&#x31;&#x25;&#x36;&#x44;&#x25;&#x37;&#x30;&#x25;&#x36;&#x43;&#x25;&#x36;&#x35;&#x25;&#x32;&#x45;&#x25;&#x36;&#x33;&#x25;&#x36;&#x46;&#x25;&#x36;&#x44;">mail me</a>

তবে এগুলি ব্যবহার করা আইনী হিসাবে প্রতিটি ব্রাউজার / ই-মেইল ক্লায়েন্টেরও এই এনকোডিংগুলি পরিচালনা করা উচিত।


পুরোপুরি সম্মত হ'ল, স্প্যামাররা "চালাক" মানুষ, বহু বছর ধরে সিনট্যাক্সের জায়গায় [at] বা [বিন্দু] যুক্ত করার পরে অবশ্যই তাদের এই অ্যালগরিদম রয়েছে যা এই নিদর্শনগুলি বেছে নেয়।
সাইমনডাডলস

এই এইচএক্স মানগুলি ডিকোডিং সম্পর্কে কী?
জেসনফ্লেহার্টি

2

আমি স্প্যামস্প্যানের একজন অনুরাগী - এটি অবরুদ্ধ , তবে জেএস অক্ষম থাকলেও অনিবার্য । এটি খুব কার্যকর বলে মনে হচ্ছে, যদিও আমি এটি কম ট্রাফিক ওয়েবসাইটে প্রায় এক বছর ধরে ব্যবহার করছি।

আপনার প্রয়োজন হলে স্প্রেস্প্যানগুলিতে ইমেলগুলি স্বয়ংক্রিয়ভাবে পরিণত করার জন্য দ্রুপালের একটি মডিউলও রয়েছে।


1

আমি যদি লিঙ্কটিতে ডান-ক্লিক করি এবং "অনুলিপি URL টি" চয়ন করি তবে এটি কী কাজ করে? যদি তা না হয় তবে এটি একটি আদর্শ পরিস্থিতি নয় (আমি খুব কমই কোনও মেইলটো লিঙ্কটিতে ক্লিক করি, ইমেল ঠিকানাটি অনুলিপি করে আমার মেইল ​​অ্যাপ্লিকেশনটিতে বা অন্য যে কোনও জায়গায় প্রয়োজন হয় যেখানে সময় লাগে তা পছন্দ করি)।

আমি আমার মেইল ​​ঠিকানাটি অন-লাইনে (ইউজননেট, ওয়েব এবং এর মতো) সুরক্ষিত করার জন্য মোটামুটি ভৌতিক হয়ে থাকতাম, তবে আজকাল আমি সন্দেহ করি যে আরও "স্প্যামের সম্ভাব্য লক্ষ্যগুলি" আসলে স্থানীয়ভাবে-প্রোগ্রামগুলি ডোমেনের সাথে মেলে। আমি এটি উপলক্ষে, আমার মেল সার্ভার লগগুলির মধ্য দিয়ে যায়। অস্তিত্বের ঠিকানাগুলিতে বেশ কয়েকটি সরবরাহ করার চেষ্টা হতে পারে (90 এর দশকের শেষের দিকে ইউজারনেটে আমি যে স্প্যাম-টোপ ছিটিয়েছিলাম তার সংক্ষিপ্ত সংস্করণ সহ, যখন ঠিকানা-স্ক্র্যাপিং খুব প্রচলিত ছিল)।


1

অনেকগুলি কৌশল ব্যবহারের পরে আমি একটি সহজ উপায় এবং খুব বন্ধুত্বপূর্ণ খুঁজে পেয়েছি, বটগুলি @ সাম্বোলোকে অনুসন্ধান করে এবং সম্প্রতি তারা পিঁপড়ির [এ]] এর প্রকরণের জন্য অনুসন্ধান করে যাতে আমি 2 কৌশল ব্যবহার করি

  1. আমি ডোমেইনটলগুলি ব্যবহার করার মতো কোনও ইমেলে আমার ইমেলটি লিখি এবং এটি পুরোপুরি বা কার্যকর হয়
  2. এটি পছন্দ মতো একটি চিত্রের সাথে সাম্বোলো (@) প্রতিস্থাপন করতে

@ প্রতিস্থাপন করুন এবং চিত্রটি Alt = "@" হবে তাই বট কোনও চিত্র খুঁজে পাবে এবং যে কোনও মানুষ এটিকে একটি সাধারণ ঠিকানা হিসাবে দেখতে পাবে তাই যদি তিনি এটি অনুলিপি করেন তবে তিনি ইমেলটি অনুলিপি করবেন এবং কাজটি ডন হয় তাই কোডটি হবে

<p>myname<img src="http://www.traidnt.net/vb/images/mail2.gif" width="11" height="9" alt="@" />domain.com</p>

1

একটি মুক্ত লাইসেন্স পিএইচপি স্ক্রিপ্ট রয়েছে যা জাভাস্ক্রিপ্ট আউটপুট করে যা মেলকে এনকোড করে: http://www.maurits.vdschee.nl/php_hide_email/ । তারপরে আপনি সহজেই একটি যুক্তি হিসাবে নির্দিষ্ট মেল দিয়ে পিএইচপি ফাংশনটি কল করতে পারেন।


1

প্রথমে আমি নিশ্চিত করব যে ইমেল ঠিকানাটি কেবল তখনই প্রদর্শিত হবে যখন আপনি জাভাস্ক্রিপ্ট সক্ষম করেছেন। এইভাবে, জাভাস্ক্রিপ্ট ছাড়া পড়া যায় না এমন কোনও সরল পাঠ্য নেই।

দ্বিতীয়ত, নিরাপদ বৈশিষ্ট্য প্রয়োগের একটি উপায় হ'ল <button>ট্যাগ থেকে দূরে থাক । এই ট্যাগটির মধ্যে ট্যাগগুলির মধ্যে একটি পাঠ্য সন্নিবেশ প্রয়োজন যা এটি কম্পিউটারকে পাঠযোগ্য। পরিবর্তে <input type="button">অনক্লিকের জন্য জাভাস্ক্রিপ্ট হ্যান্ডলারের সাহায্যে চেষ্টা করুন । তারপরে সুরক্ষিত ইমেল নোটেশনটি প্রয়োগ করতে অন্যের দ্বারা উল্লিখিত সমস্ত কৌশল ব্যবহার করুন।

অন্য একটি বিকল্প হ'ল "ইমেল ঠিকানা দেখতে ক্লিক করুন" সহ একটি বোতাম থাকা। একবার কোডড ইমেল (এইচটিএমএল কোডের অক্ষর) এ এই পরিবর্তনগুলি ক্লিক করুন। অন্য ক্লিকে এই 'মেইলটো: ইমেল' ফাংশনে পুনঃনির্দেশ করে

নির্বাচনযোগ্য এবং অ-বাছাইযোগ্য ইমেল ঠিকানা সহ সর্বশেষ ধারণার একটি অবিচ্ছিন্ন সংস্করণ:

<html>
<body>
<script type="text/javascript">
      e1="@domain";
      e2="me";
      e3=".extension";
email_link="mailto:"+e2+e1+e3;
</script>
<input type="text" onClick="this.onClick=window.open(email_link);" value="Click for mail"/>
<input type="text" onClick="this.value=email;" value="Click for mail-address"/>
<input type="button" onClick="this.onClick=window.open(email_link);" value="Click for mail"/>
<input type="button" onClick="this.value=email;" value="Click for mail-address"/>
</body></html>

এটি আপনি চান এমন কিছু কিনা এবং এটি অন্যের ধারণার সাথে একত্রিত করে দেখুন। আপনি কখনই খুব বেশি নিশ্চিত হতে পারবেন না।


2
ওহ দেখুন - me@domain.extension - প্লেইন টেক্সট ইমেল ঠিকানা রয়েছে।
আলিস্টার বুলম্যান

1

এবং আমার ফাংশন। আমি এই বিষয়টিতে দেওয়া উত্তরগুলি দেখে এটি তৈরি করেছি।

 function antiboteEmail($email)
 {
        $html = '';

        $email = strrev($email);
        $randId = rand(1, 500);

        $html .= '<span id="addr-'.$randId.'" class="addr">[turn javascript on to see the e-mail]</span>';
        $html .= <<<EOD
                <script>
                $(document).ready(function(){

                    var addr = "$email";
                    addr = addr.split("").reverse().join("");
                    $("#addr-$randId").html("<a href=\"mailto:" + addr + "\">" + addr + " </a>");
                });
                </script>
EOD;

        return $html;
    }

এটি দুটি পদ্ধতি ব্যবহার করে: ডান থেকে বাম দিক এবং জাভাস্ক্রিপ্ট স্থাপন।


1

বিকল্প 1: ইমেল ঠিকানাটি একাধিক অংশে বিভক্ত করুন এবং এই অংশগুলির বাইরে জাভাস্ক্রিপ্টে একটি অ্যারে তৈরি করুন। এরপরে এই অংশগুলিকে সঠিক ক্রমে যুক্ত করুন এবং ওয়েব পৃষ্ঠায় ইমেল ঠিকানা যুক্ত করতে .innerHTML বৈশিষ্ট্যটি ব্যবহার করুন।

 <span id="email">  </span>   // blank tag

 <script>
 var parts = ["info", "XXXXabc", "com", "&#46;", "&#64;"];
 var email = parts[0] + parts[4] + parts[1] + parts[3] + parts[2];
 document.getElementById("email").innerHTML=email; 
 </script>

বিকল্প 2: ইমেল পাঠ্যের পরিবর্তে চিত্র ব্যবহার করুন

চিত্র থেকে চিত্র নির্মাতা ওয়েবসাইট: http://www.chxo.com/labelgen/

বিকল্প 3: আমরা "@" এর পরিবর্তে এটিটি এবং "এর পরিবর্তে ডট ব্যবহার করতে পারি।"

অর্থাত:

 info(AT)XXXabc(DOT)com 

1
আমি মনে করি বিকল্প 1 ভাল বিকল্প নয়। বটের পাশাপাশি চলমান একটি পার্সার সহজেই অন্তর্নিহিত এইচটিএমএলটির মান নির্ধারণ করতে পারে এবং 3 বিকল্পটি সম্ভবত এতটা ভাল নয় কারণ একটি স্মার্ট বট এটি নির্ধারণ করতে পারে। আমি মনে করি বিকল্পটি 2 সেরা।
জন সন্ডারসন

1

আমি জাভাস্ক্রিপ্ট এবং এইচটিএমএল মিশ্রিত করতে পছন্দ করি না, এজন্য আমি এই সমাধানটি ব্যবহার করি। এটি আমার জন্য এখনই ঠিকঠাক কাজ করে।

ধারণা : আপনি data-ট্রিবিউটে এনক্রিপ্ট করা তথ্য সরবরাহ করে এবং জেএসের মধ্যে এটি ডিক্রিপ্ট করে আরও জটিল করে তুলতে পারেন । এটি কেবল অক্ষরগুলি প্রতিস্থাপন বা কেবল তাদের বিপরীত করেই করা হয়।

এইচটিএমএল :

<span class="generate-email" data-part1="john" data-part2="gmail" data-part3="com">placeholder</span>

জেএস :

$(function() {
    $('.generate-email').each(function() {
        var that = $(this);
        that.html(
            that.data('part1') + '@' + that.data('part2') + '.' + that.data('part3')
        );
    });  
});

এটি ব্যবহার করে দেখুন: http://jsfiddle.net/x6g9L817/


1

এইচটিএমএল_ CHARACTER সম্পর্কে কি ?:

joe&#064;mail.com

আউটপুট

joe@mail.com

1
ইমেল ঠিকানাটি এইভাবে ক্লিকযোগ্য নয় এবং @ প্রতীকের অবস্থানটি বুলেটপ্রুফ হতে চলেছে না, এটি যদি ইনলাইন স্থাপন করা হয় তবে এটি সর্বদা এটির মতো দেখাবে না।
ব্রেন্ট ও'কনোর

0

এই সমস্যার একটি সহজ jquery সমাধান এখানে:

<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>

0

আমি অফারসের উত্তরটি সবচেয়ে পছন্দ করি তবে আমি আরও কিছু লুকানো ইমেলের জন্য এটিতে পরিবর্তন করব:

onclick="p1='admin'; p2='domain.com'; this.href='mailto:' + p1 + '& #x40;' + p2"

0

আমি কেবল একটি অন্য উত্তর প্রদান করতে হবে। আমি সবেমাত্র খেলতে মজার কিছু নিয়ে এসেছি।

আমি জানতে পেরেছিলাম যে অনেকগুলি সাধারণ চরিত্রের টেবিলগুলিতে @ এবং আজ অক্ষরগুলি একাধিকবার আবার উপস্থিত হয়। আপনি নতুন ম্যাপিংগুলিতে মূল অক্ষরগুলি ম্যাপ করতে পারেন এবং স্প্যাম বটগুলির জন্য ই-মেইলটি কী তা নির্ধারণ করা আরও শক্ত করে তুলতে পারেন।

যদি আপনি স্ট্রিংটির মধ্য দিয়ে লুপ করেন এবং কোনও চিঠির অক্ষর কোড পান তবে তারপরে 65248 যুক্ত করুন এবং সংখ্যার উপর ভিত্তি করে একটি এইচটিএমএল সত্তা তৈরি করুন, আপনি একটি মানব পঠনযোগ্য ইমেল ঠিকানা নিয়ে এসেছেন।

var str = 'john.doe@email.com';
str = str.toLowerCase().replace(/[\.@a-z]/gi, function(match, position, str){
    var num = str.charCodeAt(position);
    return ('&#' + (num + 65248) + ';');
});

এখানে একটি কার্যক্ষম ফিডল: http://jsfiddle.net/EhtSC/8/

আপনি একই দৃষ্টিভঙ্গিগুলির মধ্যে ম্যাপিংয়ের আরও একটি সম্পূর্ণ সেট তৈরি করে এই পদ্ধতির উন্নতি করতে পারেন। তবে আপনি যদি নোটপ্যাডে ইমেলটি অনুলিপি / পেস্ট করেন তবে উদাহরণস্বরূপ, আপনি প্রচুর বাক্স পাবেন।

ব্যবহারকারীর কিছু অভিজ্ঞতার সমস্যা কাটিয়ে উঠতে আমি লিঙ্ক হিসাবে ই-মেইল তৈরি করেছি। আপনি যখন এটি ক্লিক করেন, এটি অক্ষরগুলিকে তাদের মূলতে পুনরায় তৈরি করে।

এটি উন্নত করতে আপনি যদি চান তবে আরও জটিল চরিত্রের ম্যাপিং তৈরি করতে পারেন। যদি আপনি বেশ কয়েকটি অক্ষর খুঁজে পেতে পারেন যা উদাহরণস্বরূপ 'ক' এর জায়গায় ব্যবহার করা যেতে পারে তবে কেন এগুলিকে এলোমেলোভাবে ম্যাপিং করা হচ্ছে না।

সম্ভবত সবচেয়ে সর্বাধিক সুরক্ষিত পদ্ধতির না হলেও এর সাথে খেলে আমি মজা পেয়েছি: ডি

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.