Jieiku / abridge

Fast & Lightweight Zola Theme
https://abridge.pages.dev/
MIT License
147 stars 41 forks source link

Add obfuscation for email addresses. #83

Closed Jieiku closed 2 years ago

Jieiku commented 2 years ago

Add obfuscation for email addresses.

Found this blog that popped up recently: https://fgage.com/ and seen a js script loaded that I did not recognize: email-decode.min.js

Apparently most bots that scrape pages for email address do not bother to load the javascript of the page, so this helps eliminate some of the spam.

https://andrewlock.net/simple-obfuscation-of-email-addresses-using-javascript/

After I implement and test this I will add it to the bundle, it looks like a fairly light script.

simbleau commented 2 years ago

Hot damn that's massive. I've always wondered why I get so many spam e-mails.

Grounds for another Abridge-WASM demo as well.

simbleau commented 2 years ago

A thought came across today... Anything loaded with WASM would not be in the source by default. If you look at my home page, it is loaded with WASM and the source will tell you nothing. WASM inherently happens to be a great form of source obfuscation.

Jieiku commented 2 years ago

very true, I think in either case they would need to use an actual web browser to scrape the mailto link, not necessarily from the source but from the dom, right click inspect instead of view source.

The javascript solution likely would not show the real email address in the source either, but both solutions would probably show the actual email address in the DOM.

I have been crazy crazy busy the last few days, and will probably be busy for a few more days, but once I get caught up on some stuff I will implement this and do some testing.

Jieiku commented 2 years ago

I had a little time this morning, the example in the earlier link used javascript tostring() to encode it in base16. Zola already supports base64 encode: https://www.getzola.org/documentation/templates/overview/#base64-encode

I did not see any key based encryptions for zola, ideally I would like to use a function that already exists in zola, it would make writing the macro/shortcode easier.

I opened a thread in the forums, hoping to get a response from Keats before proceeding.

https://zola.discourse.group/t/i-see-that-zola-supports-base64-encode-and-decode-are-there-any-key-based-encryptions-supported-such-as-xor-cipher/1401

Still really busy, just had a little free time this morning, will work on this more as time permits.

EDIT: I actually have another idea that would probably work using only the base64 included in Zola, it would likely be good enough, just less elaborate.

simbleau commented 2 years ago

Nice stuff. :)

Jieiku commented 2 years ago

This is completed, works properly. Did not use any key based encryption. I simply use base64 encode and some simple string manipulation, likely this is sufficient because the decode key was part of the string used in the other example.

If Keats adds some key based encryption like XOR Cipher then I will update this to take advantage of it.