• Welcome to Simple Machines Community Forum. Please login or sign up.
December 02, 2021, 09:03:03 AM

News:

SMF 2.1 RC4 has been released! Try it out and help us test! :) Read more.


Enhance name duplication detection to account for homoglyphs

Started by shawnb61, December 09, 2018, 06:05:29 PM

Previous topic - Next topic

shawnb61

SMF's existing name duplication checks can be thwarted using homoglyphs.

For example, these two names are distinct & would both be allowed in SMF: "Mіau!" and "Miau!".

More discussion here:
https://www.simplemachines.org/community/index.php?topic=563837.0

Definition & examples of homoglyphs here:
https://en.wikipedia.org/wiki/Homoglyph
Address the process rather than the outcome.  Then, the outcome becomes more likely.   - Fripp

Arantor

The problem is how large the list is. How far down that list do you go?
No good deed goes unpunished
All helpful urges should be circumvented

shawnb61

Yep.  Still, worthy to have that discussion & consider the enhancement. 

I think with more sites using utf8 (esp. 2.1) this warrants consideration.
Address the process rather than the outcome.  Then, the outcome becomes more likely.   - Fripp

Kindred

Personally, I don't think that this is a large enough issue to waste development time doing it...  seriously, I have seen this sort of issue reported exactly twice in over a decade.
Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.<br /><br />"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

Sesquipedalian

It might be possible to create a mod to do this relatively reliably and without killing the server, but it won't become a standard feature of SMF any time soon.

Such a mod could use an approach similar to the one I used in 2.1's set_tld_regex() function, by periodically downloading and processing this official file to build an array of substitutions to normalize confusable characters and strings. This array would need to be stored in the database somewhere, and one would want to add a column to the members table that recorded each member's normalized username to use for comparisons.
I promise you nothing.
Sesqu... Sesqui... what?
Sesquipedalian, the best word in the English language.

Advertisement: