WordPress轉義文章和迴響中的郵箱地址以防被惡意采集

幾乎每個人都會遭到垃圾郵件的困擾,其實很多情況下,是由於我們的郵箱地址被惡意采集造成的,如果你使用WordPress建站,那你可以使用一段簡單的代碼讓WordPress轉義文章和迴響中的郵箱地址,以防被惡意采集。

隻需要在wordpress主題的 functions.php 的最後一個 ?> 前添加下面的代碼即可:

1
2
3
4
5
6
7
8
9
10
11
function security_remove_emails($content) {
    $pattern = '/([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4})/i';
    $fix = preg_replace_callback($pattern,"security_remove_emails_logic", $content);
 
    return $fix;
}
function security_remove_emails_logic($result) {
    return antispambot($result[1]);
}
add_filter( 'the_content', 'security_remove_emails', 20 );
add_filter( 'widget_text', 'security_remove_emails', 20 );

function security_remove_emails($content) {
$pattern = ‘/([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4})/i’;
$fix = preg_replace_callback($pattern,"security_remove_emails_logic", $content); return $fix;
}
function security_remove_emails_logic($result) {
return antispambot($result[1]);
}
add_filter( ‘the_content’, ‘security_remove_emails’, 20 );
add_filter( ‘widget_text’, ‘security_remove_emails’, 20 );

該代碼是通過wordpress的antispambot函數來轉義郵箱地址的,添加以上代碼後,你可以嘗試你的某篇文章中輸入一個Email地址,更新後查看這篇文章的源代碼,就會看到轉義後的郵箱地址。

如Email地址:john@a.com

轉義後,源代碼中看到的是:john@a.com

郵箱地址采集器都是通過源代碼來采集Email地址的,轉義後的內容對它們來說幾乎是無法識別的。雖然在源代碼中你會看到一堆亂碼,但是你的文章和迴響中,我們還是可以看到正常的Email地址,並可以自由地復制的。

本文參考自:How to automatically hide email adresses from spambots on your WordPress blog 以及 露兜部落格。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *