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

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


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

সংক্ষিপ্ত সংস্করণ হল যে স্প্যামবট আপনার এইচটিএমএল স্ক্র্যাপ করে ইমেল ঠিকানা খুঁজছে। যদি আপনার ঠিকানাটি প্লেইন টেক্সটে বসে থাকে তবে তারা এটিকে হুভার করবে। কিন্তু আপনি যদি প্রতিটি অক্ষরকে একটি 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

Deixe um comentário

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