2015-05-18 10 views
7

Ho notato che GitHub aggiunge un js che sembra per rimuovere i collegamenti agli indirizzi di posta elettronica quando hanno la stringa /cdn-cgi/l/email-protection con loro. Qualcun altro che ha questo strano problema o è davvero da GitHub?Perché GitHub aggiunge un js al mio sito jekyll

ecco la versione prettified di questo script:

(function() { 
    try { 
     var s, a, i, j, r, c, l = document.getElementsByTagName("a"), 
      t = document.createElement("textarea"); 
     for (i = 0; l.length - i; i++) { 
      try { 
       a = l[i].getAttribute("href"); 
       if (a && a.indexOf("/cdn-cgi/l/email-protection") > -1 && (a.length > 28)) { 
        s = ''; 
        j = 27 + 1 + a.indexOf("/cdn-cgi/l/email-protection"); 
        if (a.length > j) { 
         r = parseInt(a.substr(j, 2), 16); 
         for (j += 2; a.length > j && a.substr(j, 1) != 'X'; j += 2) { 
          c = parseInt(a.substr(j, 2), 16)^r; 
          s += String.fromCharCode(c); 
         } 
         j += 1; 
         s += a.substr(j, a.length - j); 
        } 

        t.innerHTML = s.replace(/</g, "&lt;").replace(/>/g, "&gt;"); 
        l[i].setAttribute("href", "mailto:" + t.value); 
       } 
      } catch (e) {} 
     } 
    } catch (e) {} 
})(); 

Quando ho un link come <a href="mailto:/cdn-cgi/l/email-protection/[email protected]">Contact</a> diventa <a href="mailto:">Contact</a>. Altrimenti, non fa nulla. Tuttavia, questo mi infastidisce perché non ho messo lì quel copione, eccolo lì, e non sembravo avere alcun avviso sugli script di app GH.

risposta

10

Ho appena ricevuto una risposta dal supporto GitHub e si scopre che il misterioso script è stato aggiunto da CloudFlare quando la funzionalità Email Address Obfuscation è attivata.

Le impostazioni rilevanti sono https://www.cloudflare.com/a/content-protection/<<domain.name>> sotto ScrapeShield, se qualcuno ha problemi simili.

Problemi correlati