簡體   English   中英

隱藏Mailto:鏈接

[英]Hide Mailto: link

我有不同的mailto:我的網站上的電子郵件地址,現在被各種收割機擊中,隨后我被垃圾郵件。

任何人都可以幫助我為以下內容創建一些PHP代碼:

<a href="mailto:info@company.com">info@company.com</a>

為了防止地址被收獲,同樣可以在網站上顯示的各種電子郵件地址上使用此腳本嗎?

謝謝

其他人建議使用JavaScript的document.write()編寫電子郵件地址。 我不喜歡這種方法,因為它很容易被實際渲染頁面的機器人擊敗。 我通過這種方式收到了“受保護”的電子郵件地址的垃圾郵件(沒有那么多,也沒有未受保護的地址那么快,但它仍然存在)。

我首選的方法是使用虛擬電子郵件地址(可以轉到郵件服務器上的蜜罐電子郵件地址)來編寫鏈接,這樣您就可以確定將哪些服務器IP地址列入黑名單。 然后使用鏈接上的onClick處理程序在用戶單擊它時替換真實的電子郵件地址。 沒有電子郵件收集器會向頁面上的每個鏈接發送一個點擊事件,它就行不通。

<a href="mailto:fake@example.com" 
   onClick="this.href=this.href.replace('fake', 'real')">
Send Us E-mail</a>

在此示例中,我們從“fake@example.com”開始,並在用戶單擊鏈接時將“fake”替換為“real”。

我喜歡的另一個想法是讓用戶將他們的電子郵件地址輸入表單。 然后使用腳本向他們發送電子郵件。 他們回復該電子郵件地址以便與您聯系。 換句話說,他們沒有收到您的電子郵件地址,直到他們給您一個有效的電子郵件地址,並且您的地址永遠不會在網站上。

我發現的最佳解決方案是使用一些javascript。 你調用一個函數,傳入地址,它會打印出你的鏈接。 由於大多數機器人不處理javascript,這應該適用於大多數情況:

<script type='text/javascript'>
    function email(name, domain, withlink) {
        var addr = name + '@' + domain;
        if(withlink) {
            document.write('<a href="mailto:' + addr + '">' + addr + '</a>');
        } else {
            document.write(addr);
        }
    }
</script>

然后,當您想在網站上打印電子郵件地址時:

<script>email('myuser', 'mydomain');</script>

如果您希望它使其成為可點擊的鏈接:

<script>email('myuser', 'mydomain', true);</script>

注意:這是未經測試的,但應該可以使用。 還有更先進的技術,其他一些答案也會觸及,但大多數技術都是基於這樣的基礎。

我會用Javascript來做。 嘗試類似的東西

<script>
document.write('<a href="mailto:inblahfo@company.com">inblahfo@company.com</a>'
.replace(/blah/g, ''));
</script>

我一直很喜歡Hive Enkoder來創建mailto鏈接:

http://hivelogic.com/enkoder/

我會這樣做:

function obfuscate_email($email) {
    $obf = '';
    for($i = 0; $i < strlen($email); $i++) {
        $obf .= '&#' . ord($email[$i]) . ';';
    }
    return $obf;
}

echo '<a href="mailto:' . obfuscate_email('info@company.com') . '">' . obfuscate_email('info@company.com') . '</a>';

HTML源代碼:

<a href="mailto:&#105;&#110;&#102;&#111;&#64;&#99;&#111;&#109;&#112;&#97;&#110;&#121;&#46;&#99;&#111;&#109;">&#105;&#110;&#102;&#111;&#64;&#99;&#111;&#109;&#112;&#97;&#110;&#121;&#46;&#99;&#111;&#109;</a>

用戶看到了什么:

info@company.com

您可以使用aemail.com等免費外部服務:

@email是一個免費的電子郵件隱藏服務,使用短URL將電子郵件隱藏到點擊鏈接后將發件人重定向到mailto-url。

在aemail.com輸入電子郵件后,您將獲得一個簡短的URL,可用於替換您的“mailto”鏈接。 點擊鏈接后,您的用戶將被重定向到“mailto”網址,而不會通知aemail.com。 API可用於動態隱藏電子郵件/獲取URL。

例:

<a href="mailto:info@itee.com">Contact</a>

替換為

<a href="https://aemail.com/q2">Contact</a>

將保持電子郵件鏈接工作。

最簡單的解決方案是為您的公司電子郵件地址創建一個圖像:)

要么

您可以使用此在線工具:

<script type="text/javascript">
  var part1 = "me";
  var part2 = "mydomain.com";
  var part3 = "Click Here to Send";
  document.write('<a href="mai' + 'lto:' + part1 + '@' + part2 + '">');
  document.write(part3 + '</a>');
</script>

要么

查看更多方法:

您可以動態生成JavaScript中的mailto鏈接,如下所示: http//www.webmarksonline.com/content/dynamicemaillink.htm

我推薦recaptca 它使得在顯示您的電子郵件之前使用鍵入兩個圖像中的單詞。 這是完全安全的,它也有助於數字化書籍。 該網站提供了一個很棒的API(復制粘貼代碼),用於在您的網站上實現它

更新 - 繼承人直接鏈接到mailhide

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM