Как я могу отфильтровать ненормативную лексику в base36 ID? - PullRequest
5 голосов
/ 17 февраля 2011

Я хочу использовать base36 в веб-приложении, которое я разрабатываю ... но так как идентификатор виден пользователям как URL, я хочу отфильтровать ненормативную лексику. Кто-нибудь решил это? Или это даже реальная проблема?

Имеет ли смысл просто пропускать числа в моей последовательности базы данных?

Ответы [ 2 ]

8 голосов
/ 17 февраля 2011

Что ж, вместо того, чтобы пытаться собрать все возможные ругательства, просто отфильтруйте гласные.Это оставит вам много перестановок в космосе.По общему признанию, вы только что сократили с базы 36 до базы 31, но числа базы 31 являются действительными числами базы 36, предполагая тот же набор символов (a-z0-9).Если это вас беспокоит, замените пять гласных на другие не магические 7-битные символы ascii!, @, $,% И (.

Конечно, вы можете получить sh1t и fck, но ненормативную лексикув сознании читателя.

-Oisin

2 голосов
/ 17 февраля 2011

Почему бы просто не использовать произвольно сгенерированный GUID в шестнадцатеричном формате? Независимо от того, на каком языке программирования вы работаете, его легко создать. И будучи представленным в шестнадцатеричном формате, я представляю себе шансы на создание чего-то, что нарушает легко оскорбительный подход ноль.

...