Checks if username is ASCII string else throw an error

This commit is contained in:
Saptak S 2021-11-30 01:19:29 +05:30
parent 97fe219e21
commit 98f6f3b7d7
No known key found for this signature in database
GPG Key ID: 7B7F1772C0C6FCBF
2 changed files with 12 additions and 1 deletions

View File

@ -82,7 +82,7 @@ var emitMessage = function (socket) {
var updateUsername = function (socket) {
var username = $('#username').val();
if (!checkUsernameExists(username) && !checkUsernameTooLong(username)) {
if (!checkUsernameExists(username) && !checkUsernameTooLong(username) && !checkUsernameAscii(username)) {
$.ajax({
method: 'POST',
url: `http://${document.domain}:${location.port}/update-session-username`,
@ -117,6 +117,16 @@ var createUserListHTML = function (connected_users, current_user) {
return userListHTML;
}
var checkUsernameAscii = function (username) {
// ASCII characters have code points in the range U+0000-U+007F.
$('#username-error').text('');
if (!/^[\u0000-\u007f]*$/.test(username)) {
$('#username-error').text('Non-ASCII usernames are not supported.');
return true;
}
return false;
}
var checkUsernameExists = function (username) {
$('#username-error').text('');
var userMatches = $('#user-list li').filter(function () {

View File

@ -51,6 +51,7 @@ class ChatModeWeb:
username = username.strip()
return (
username
and username.isascii()
and username not in self.connected_users
and len(username) < 128
)