commit
4433260041
|
@ -7,6 +7,15 @@ var Logger = require("../logger");
|
||||||
var registrationLock = {};
|
var registrationLock = {};
|
||||||
var blackHole = function () { };
|
var blackHole = function () { };
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Replaces look-alike characters with "_" (single character wildcard) for
|
||||||
|
* use in LIKE queries. This prevents guests from taking names that look
|
||||||
|
* visually identical to existing names in certain fonts.
|
||||||
|
*/
|
||||||
|
function wildcardSimilarChars(name) {
|
||||||
|
return name.replace(/[Il1oO0]/g, "_");
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
init: function () {
|
init: function () {
|
||||||
},
|
},
|
||||||
|
@ -15,7 +24,7 @@ module.exports = {
|
||||||
* Check if a username is taken
|
* Check if a username is taken
|
||||||
*/
|
*/
|
||||||
isUsernameTaken: function (name, callback) {
|
isUsernameTaken: function (name, callback) {
|
||||||
db.query("SELECT name FROM `users` WHERE name=?", [name],
|
db.query("SELECT name FROM `users` WHERE name LIKE ?", [wildcardSimilarChars(name)],
|
||||||
function (err, rows) {
|
function (err, rows) {
|
||||||
if (err) {
|
if (err) {
|
||||||
callback(err, true);
|
callback(err, true);
|
||||||
|
|
Loading…
Reference in a new issue