Как отфильтровать ненормативную лексику в идентификаторах base36?
Я хочу использовать base36 в веб-приложении, которое я разрабатываю... но так как идентификатор виден пользователям как URL, я хочу отфильтровать ненормативную лексику. Кто-нибудь решил это? Или это даже реальная проблема?
Имеет ли смысл просто пропускать числа в моей последовательности базы данных?
2 ответа
Что ж, вместо того, чтобы пытаться собрать все возможные ругательства, просто отфильтруйте гласные. Это оставит вам много перестановок в пространстве. По общему признанию, вы только что сократили с базы 36 до базы 31, но числа базы 31 являются действительными числами базы 36, предполагая тот же набор символов (a-z0-9). Если это вас беспокоит, замените пять гласных на другие не магические 7-битные символы ascii!,@,$,% И (.
Конечно, вы можете в конечном итоге с sh1t и fck, но ненормативная лексика находится в уме читателя.
-Oisin
Почему бы просто не использовать произвольно сгенерированный GUID в шестнадцатеричном формате? Независимо от того, на каком языке программирования вы работаете, его легко создать. И будучи представленным в шестнадцатеричном формате, я представляю себе шансы на создание чего-то, что нарушает легко оскорбительный подход ноль.