অস্পষ্ট করা আমার যোগাযোগের ইমেল – কেভ কুইর্ক

অস্পষ্ট করা আমার যোগাযোগের ইমেল – কেভ কুইর্ক


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

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

স্পেন্সারের পরীক্ষা থেকে, এই পদ্ধতিটি প্রায় 95% ফসল কাটার যন্ত্রকে ব্লক করে, যা আমার জন্য যথেষ্ট ভাল।

যেখানে আমার ইমেইল প্রদর্শিত হবে

এই সাইটে, আমার যোগাযোগের ইমেল দুটি জায়গায় দেখা যাচ্ছে:

  1. ইমেল দ্বারা উত্তর প্রতিটি পোস্টের নীচে বোতাম।
  2. আমার যোগাযোগ পাতা.

উভয় থেকে টান site_email বিশুদ্ধ ব্লগের কনফিগারেশনের মান, তাই আমাকে শুধুমাত্র কয়েকটি পরিবর্তন করতে হবে।

উত্তর বোতাম

উত্তর বোতামটি থাকে content/includes/post-meta.phpযা স্পষ্টতই একটি পিএইচপি ফাইল। তাই সেখানে ফিক্স সোজা ছিল – আমি খাদ {{ site_email }} শর্টকোড এবং এইচটিএমএল এন্টিটিতে অ্যাড্রেস ক্যারেক্টার এনকোড করার জন্য সরাসরি পিএইচপি ব্যবহার করা হয়েছে:


$_email = load_config()('site_email') ?? '';
$_encoded = implode('', array_map(fn($c) => '&#x' . dechex(ord($c)) . ';', str_split($_email)));
?>
class="button reply-button"
    href="mailto:_encoded ?>?subject=Reply to: {{ post_title }}">Reply by email

প্রতিটি চরিত্রই এমন কিছু হয়ে ওঠে kযা একটি বট-এর কাছে অস্পষ্ট, কিন্তু একটি ব্রাউজার ব্যবহার করে একজন মানুষের কাছে পুরোপুরি পাঠযোগ্য৷ দ {{ post_title }} পিএইচপি চালানোর পরেও শর্টকোড সাধারণত বিশুদ্ধ ব্লগ দ্বারা প্রতিস্থাপিত হয়, তাই বিষয় লাইনটি এখনও প্রত্যাশিত হিসাবে কাজ করে।

যোগাযোগ পাতা

যোগাযোগ পৃষ্ঠাটি বিশুদ্ধ ব্লগের একটি সাধারণ পৃষ্ঠা, তাই এটি হুডের নিচে মার্কডাউন। এর মানে আমি এটিতে পিএইচপি ড্রপ করতে পারি না। পরিবর্তে, আমি বিশুদ্ধ ব্লগ এর ব্যবহার on_filter_content হুক, যা শর্টকোডগুলি ইতিমধ্যে প্রক্রিয়াকরণের পরে চলে। ততক্ষণে, {{ site.email }} প্লেইন ইমেল ঠিকানা দিয়ে প্রতিস্থাপিত হয়েছে, তাই আমাকে যা করতে হবে তা হল এনকোডেড সংস্করণের জন্য এটি অদলবদল করা:



declare(strict_types=1);

function on_filter_content(string $content): string
{
    $config = load_config();
    $email = trim((string) ($config('site_email') ?? ''));
    if ($email === '') {
        return $content;
    }

    $encoded = implode('', array_map(fn($c) => '&#x' . dechex(ord($c)) . ';', str_split($email)));
    return str_replace($email, $encoded, $content);
}

এই যায় config/hooks.phpএবং এখন যেকোন পৃষ্ঠার বিষয়বস্তু যা বিশুদ্ধ ব্লগের মাধ্যমে যায় filter_content() ফাংশন স্বয়ংক্রিয়ভাবে ইমেল এনকোড হবে. তাই যদি আমি আমার প্রকাশ করার সিদ্ধান্ত নিয়েছি site_email অন্য কোথাও, এটি স্বয়ংক্রিয়ভাবে কাজ করা উচিত।

সুরক্ষার আরও একটি স্তর

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

এই overkill? সম্ভবত। কিন্তু এটি একটি মজার ছোট খরগোশের গর্ত ছিল, এবং এখন আমি এটি সম্পর্কে স্মাগ অনুভব করতে পারি। 🙃

ইমেল দ্বারা উত্তর

আরো জন্য সদস্যতা!

আমার সর্বশেষ ওয়াফেল পড়ার জন্য আপনাকে এখানে ফিরে আসতে হবে না। আমি যখনই নতুন বিষয়বস্তু প্রকাশ করি তখন আপডেট পেতে সদস্যতা নেওয়ার কয়েকটি উপায় আছে।



Source link

Postagens Similares

  • Jag kämpar för användarna

    Om du inte har kunnat hålla jämna steg med min blåsande takt i ett blogginlägg per år, skyller jag inte på dig. Det händer mycket just nu. Det är en hektisk tid. Men låt oss pausa och ta ett ögonblick för att fira att Elon Musk förstörde Twitter. Jag kan omöjligt säga det bättre än…

  • منطق دانوں کے لیے ایک تاش کا کھیل || ریاضی ∩ پروگرامنگ

    ریاضی کے طالب علم اکثر اپنے کیریئر کے شروع میں کلاسک “نیلی آنکھوں والے جزیرے والے” پہیلی کے بارے میں سنتے ہیں۔ اگر آپ نے اسے نہیں دیکھا ہے تو اوپر لنک کردہ ٹیری تاؤ کی بہترین تحریر پڑھیں۔ حل انڈکشن اور *عام علم* کے آئیڈیا کا استعمال کرتا ہے-* میں X کو جانتا ہوں،…

  • సాధనం: datasette.io వార్తల ప్రివ్యూ

    datasette.io వెబ్‌సైట్ అంతర్లీన GitHub రిపోజిటరీలో ఈ news.yaml ఫైల్ నుండి రూపొందించబడిన వార్తల విభాగాన్ని కలిగి ఉంది. YAML ఆకృతి ఇలా కనిపిస్తుంది: – date: 2026-04-15 body: |- (Datasette 1.0a27)(https://docs.datasette.io/en/latest/changelog.html#a27-2026-04-15) changes how CSRF protection works in a way that simplifies form and API integration, and introduces a new `RenameTableEvent` for when a table is renamed by a SQL query. -…

  • আবিষ্কারের ঝুঁকি

    জানুয়ারী 2017 যেহেতু বিখ্যাত বিজ্ঞানীদের জীবনী তাদের ভুলগুলি সম্পাদনা করার প্রবণতা রয়েছে, তাই তারা যে ঝুঁকি নিতে ইচ্ছুক তা আমরা অবমূল্যায়ন করি। এবং যেহেতু একজন বিখ্যাত বিজ্ঞানী যা কিছু করেছিলেন যা ভুল ছিল না তা সম্ভবত এখন প্রচলিত জ্ঞানে পরিণত হয়েছে, সেই পছন্দগুলিও ঝুঁকিপূর্ণ বলে মনে হয় না। নিউটনের জীবনী, উদাহরণস্বরূপ, বোধগম্যভাবে আলকেমি বা ধর্মতত্ত্বের…

  • Slashdot et Sourceforge

    Si vous avez suivi un agrégateur d’actualités technologiques au cours de la semaine dernière (la semaine du 24 mai 2015), vous avez probablement vu l’histoire de la façon dont SourceForge prend en charge les comptes d’administrateur pour des projets existants et injecte des logiciels publicitaires dans les installateurs de packages comme GIMP. Pour tous ceux…

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *