Invisible Click Tracking Using “Empty” UTF-8 Characters
kaspars.net
kaspars.net
> The idea is to use zero-width and space characters of UTF-8 such as U+200B, U+200C, U+200D
That must be Unicode, not UTF-8.
So there are a certain number of non-width space characters. As far as I can find in the links in the OP, U+FEFF, U+180E, U+200B, U+200C, U+200D would make 5.
So we have at least 5 values to work with, which would make... 120 combinations if they're ordered differently? Surely we would need more if we want to uniquely identify something such as a referral, or are there more non-width spaces?
I'm kind of dumb and bad at probability, also. You're encouraged to correct my thoughts on this and show me the errors of my thinking.
I get:
5^0+5^1+5^2+5^3+5^4+5^5 = 3,906
But I may have totally missed something.Edit: looking a little closer I see some italics in your 55555 so I guess you have 5 * 5 * 5 * 5 * 5
And this post doesn't link to the actual tracked url, the page contains it.
This is the actual URL: http://kaspars.net/blog/web-development/invisible-click-trac...
>>> repr('http://kaspars.net/blog/web-development/invisible-click-tracking')
"'http://kaspars.net/blog/web-development/invisible-click-tracking\\xe2\\x80\\x8b'"
EDIT: Yeah, they didn't show up anywhere in the Safari inspector for me either.http://kaspars.net/blog/web-development/invisible-click-trac...
I imagine it might break in some scenarios (the url ends up with junk in it from bad unicode conversion) but it's up to you to be permissive in the urls you accept.
If I'm filling out some form fields with URLs, I strip trailing (and leading) spaces too.