Это хорошая идея, чтобы позволить вашим пользователям изменить свои имена пользователей?
Я возвращаюсь к идее позволить пользователям на моем сайте изменять свои имена пользователей, которые будут отображаться на всем сайте. С одной стороны, я хочу предоставить пользователям гибкость. Но с другой стороны, я не хочу, чтобы они использовали эту функцию как способ скрытия, если они делают что-то нежелательное на сайте. Я знаю, что SO & Twitter позволяет изменить отображаемое имя. Что удерживает кого-то от плохого поведения на сайте и затем меняет свое имя, чтобы он мог продолжать вести себя плохо?
Мне нужно обратная связь за и против. Спасибо!
Обновление: чтобы прояснить ситуацию немного. Я не использую имя пользователя в качестве основного внутреннего идентификатора учетной записи. Каждый пользователь получает уникальный номер. Мой вопрос на самом деле не о том, как моя система отслеживает пользователя, а о том, как другие пользователи смогут отслеживать друг друга.
Если пользователь A знает, что пользователь B делает что-то плохое, тогда пользователь B меняет свое имя на userC. Тогда пользователь А больше не будет знать, кто он.
23 ответа
Что вы имеете в виду под "сделать что-то плохое, а затем изменить свое имя"? Если вы намекаете, что пользователи могут публиковать контент, например, со своим прикрепленным именем, а затем изменять свое имя, а имя, прикрепленное к их постам, также не изменится, то я думаю, что вам нужно пересмотреть свою архитектуру (базы данных) и убедитесь, что имя пользователя является единственной точкой отсчета, и все представления этого имени пользователя изменяются, когда кто-то меняет свое имя пользователя.
Изменить: ОК, извините за недоразумение. Но если это тот случай, когда у вас есть одна точка отсчета, то изменение имени пользователя не имеет отношения к проблеме. Допустим, мое имя пользователя Foo, и я где-то троллю что-то, а затем меняю имя на Bar. Поскольку люди могут видеть, что я опубликовал (например, страницу истории сообщений), не имеет значения, назывался ли я раньше Foo или нет, Bar теперь ассоциируется с сообщениями, сделанными до того, как это был материал тролля. Так что, возможно, вам просто нужно создать прозрачность, сделав что-то вроде обзора истории постов в профилях пользователей?:)
Если проблема заключается в том, чтобы выдавать себя за кого-то или "обманывать", вы всегда можете использовать ALA eBay и отображать значок рядом с человеком, который изменил свое имя пользователя за последние 30 дней.
В зависимости от случая вы можете хранить историю и отображать ее при необходимости.
Если вы сделаете это, убедитесь, что предыдущие имена пользователей не были переработаны для новых пользователей.
Часто есть очень веские причины, по которым люди хотят законно изменить свое имя пользователя.
Например, предполагается, что кто-то зарегистрировался как pimpleOnGodsAss
в то время как в университете, а затем, несколько лет спустя, в рабочей силе и хочет пообщаться с другими специалистами через сайт... они захотят измениться!
Кроме того, рассмотрим очень распространенный случай, когда люди меняют свои имена при вступлении в брак - если они использовали свою фамилию как часть своего имени пользователя, они тоже захотят это изменить. Марта Джонс с именем пользователя marthajones выходит замуж за Джона Смита и хочет получить имя пользователя marthasmith (если доступно).
Обратите внимание, что вы не можете избежать того, чтобы люди достигли этого - они всегда могут зарегистрироваться с новым адресом электронной почты, отбросив свою старую историю и получив новое имя пользователя, которое они хотят.
Я бы предположил, что преимущества этой функции перевешивают затраты - люди всегда найдут способ игры в систему, не наказывайте хороших пользователей, блокируя функции только потому, что некоторые найдут способ злоупотребить ими.
Вы можете отображать оба имени на некоторое время:
Символ Гай -> Ранее известный как принц
Мне нравится функция Steam "Просмотр псевдонимов", которая позволяет вам видеть все имена, которые вы видели у этого пользователя. Пока само имя пользователя не является первичным ключом в пользовательской таблице, тогда, конечно, пусть они меняют имена. Добавьте таблицу псевдонимов, чтобы, если кто-то был членом, вы могли видеть, кем он был раньше.
Я бы не позволил пользователю изменить свое действительное имя пользователя.
Однако изменение отображаемого имени должно быть безопасным. Вы всегда можете отслеживать их поведение через их учетную запись или имя пользователя напрямую. Если они делают что-то плохое, вы должны пометить их учетную запись, не обязательно пытаться отследить это по их имени.
Большинство сайтов имеют эту концепцию (включая SO).
Если у каждого пользователя есть постоянный уникальный номер идентификатора, они могут изменить имя пользователя, но остаются прежними.
Arstechnica.com взимает $20 за смену имени пользователя, и подписчики получают одно изменение бесплатно.
Если у вас есть функция, оставьте ее. Вы бы просто посоветовали кому-то создать другую учетную запись, чтобы в ней были имена пользователей goodwitch и badwitch.
Если у вас его нет, не добавляйте его, если вам нечего добавить.
Я согласен с большинством отвечающих здесь людей - пусть пользователи меняют свое имя, иначе сайт просто менее дружелюбен. Как сказал Рахул, если пользователь меняет свое имя, убедитесь, что новое имя связано со всей его предыдущей деятельностью.
Аналогично - если вы используете адрес электронной почты в качестве имени пользователя (как это делают многие сайты), дайте пользователю сменить адрес электронной почты. По личному опыту я могу сказать, что не допустить этого - настоящая боль (для пользователей и поддержки клиентов для любого сайта, который этого не позволяет).
Структура вашей базы данных не должна зависеть от того, что имя пользователя (/ адрес электронной почты) одинаково, так зачем применять это для ваших пользователей?
Эту функцию я хотел бы видеть на других сайтах.
Это удобно и, как вы сказали, дает пользователю гибкость. Если достаточно скрыть только изменение имени пользователя, может возникнуть другая проблема.
Следите за этими пользователями другим способом (идентификатор пользователя, журналы, система репутации и т. Д.) И, возможно, рассмотрите возможность отображения оригинального имени пользователя для ваших администраторов / модераторов.
Вы всегда можете контролировать, как часто пользователям разрешается менять свое имя пользователя, чтобы не видеть на форумах одних и тех же людей, которые меняют свое имя каждый день; потому что кто-то будет делать это каждый день, если им позволено.
Предположим, что можно разрешить пользователю изменять свои имена, но это изменение также должно касаться его предыдущих сообщений - они должны отображаться с новым именем пользователя.
...
Я напомнил, что у какого-то пароля есть реализация, которую я нашел в интернет-ресурсе
password_hash = md5(пароль + соль + имя_пользователя)
если у вас та же модель, вы должны отказаться от изменения имени пользователя
С уважением, Павел
Лично я стараюсь сделать имена пользователей липкими, и это является ценной частью опыта сайта.
Это верно, если другие пользователи увидят имена пользователей; если есть какие-либо социальные сети, связанные с сайтом.
Вы всегда можете заархивировать действительно старые, если ваш сайт живет долго.
Как пользователь, я должен сказать, что я абсолютно хочу иметь возможность изменить имя пользователя в моей учетной записи. Я не пошел бы так далеко, чтобы попросить несколько псевдонимов, но всегда возможно, что кто-то передумал или не особо задумывался при первой настройке учетной записи. Вы не должны использовать имя пользователя в качестве основного внутреннего идентификатора учетной записи.
Да - ТОЛЬКО ЕСЛИ пользователи не взаимодействуют с другими пользователями.
НЕТ - если пользователи могут взаимодействовать: форумы и тому подобное. Это немного странно видеть пользователя с другим именем каждый день.
Я голосую за да, в пределах разумного. Пользователи, которые попали в беду (отрицательное общее количество повторений, модерация, прошлые предупреждения, все, что применимо к вашему сайту) не должны быть допущены.
Другие пользователи должны быть разрешены, но с ограничением (например, 3 раза в год). Должен быть способ отслеживать пользователей за прошлыми именами, по крайней мере, для администраторов / модераторов.
РЕДАКТИРОВАТЬ: Однако я нахожу системы, такие как Steam/Wordpress, где у пользователя есть отображаемое имя и имя входа по отдельности, немного сбивает с толку, поэтому я не рекомендовал бы такой подход, однако это просто личное чувство.
Как и большинство вещей в жизни, все сводится к тому контексту, о котором вы говорите. Лично я считаю, что любая служба, которая может или подвергается злоупотреблению, должна иметь постоянные имена пользователей.
Сначала вопросы бизнеса
Почему вы предлагаете эту функцию вместо того, чтобы тратить время на другую функцию? Будет ли другая функция более полезной (например, строка состояния?)
Что это сделает?
Пользователи просят об этом?
Будет ли эта особенность результатом повышенной липкости или лучшего опыта?
Это конкурентное преимущество?
Ваш сайт становится более запутанным?
Технические вопросы
Какова вероятность неправильного использования? У вас есть денормализованная база данных, где имя пользователя было скопировано во многих местах, или есть только одно место, где хранится имя пользователя?
У вас есть способ отправить уведомление другим пользователям "Ваш друг" foo "теперь" bar "?"
Объединяя некоторые из идей здесь:
У каждого пользователя есть уникальный внутренний идентификатор, номер. Таким образом, вы можете использовать эту функцию в любое время. Не нужно сразу его кодировать, так как вы можете отложить принятие этого решения.
Если вы хотите реализовать это: пусть они меняют имя пользователя каждые 6 месяцев и обозначают каждое новое имя пользователя каким-либо символом в течение 30 дней. Отобразите историю имени пользователя в профиле и обязательно проинформируйте пользователя об этом, чтобы он мог отказаться от изменения имени пользователя.
Я бы позволил изменение и, возможно, перенес бы как имя пользователя (логин), так и отображаемое имя, и я бы позволил изменить оба. Существуют различные аргументы с обеих сторон, но для меня это обычно сводится к тому, что любой из этих элементов (user & display) обычно отражает что-то об имени их владельца, и имя его владельца может измениться.
Если ваш логин является адресом электронной почты, и вы меняете провайдеров электронной почты, что теперь? Или взять ваше имя "Донни В." Я предполагаю, что вы мужчина, но что, если вы были женщиной *? И если ты женился на Майке Петерсоне. Не хотите ли вы теперь быть известным как "Донни П."? Может быть, а может и нет. Но многие бы.
* Да, я знаю, что мужчины тоже могут менять свои фамилии.
Как насчет "ранее известного как" дисплея. Если пользователь решает изменить имя пользователя, просто сохраните старое имя в таблице и отобразите его дополнительно. Может быть, дать возможность во всех профилях пользователей отключить этот дисплей.
Если пользователь A знает, что пользователь B делает что-то плохое, тогда пользователь B меняет свое имя на userC. Тогда пользователь А больше не будет знать, кто он.
Если ваша основная проблема связана со злоупотреблениями, возможно, вам следует предоставить метод сообщения о злоупотреблениях и вести журнал изменений имен пользователей.