Запросите подсказку , например:
Пожалуйста, дополнительно предоставьте подсказку, которую вы хотели бы включить в свое имя пользователя, если выбранное вами имя уже занято кем-то другим.
Например, если вас зовут Джозеф, то Джозеф, Джозеф или Джо уже будут заняты. Таким образом, вы можете предоставить подсказку, которая может быть одной из:
- ваша фамилия - например. Смитсон - что бы предложить "joe.smithson"
- ваш город проживания - например. Район залива - который предлагает "joseph_bayarea"
- цель счета - например. разработчик - который предложил бы "joseph-devel"
- цвет - например. синий - что означало бы "bluejoe"
- число - к которому добавляется суффикс "joe99"
Еще один способ получить эту подсказку - объединить другие данные, введенные в форму регистрации. Я не могу сразу думать о любой другой удобной и универсальной схеме, чтобы угадать, что пользователь хотел бы предложить в качестве имени пользователя.
Тем более что услуга, предоставляемая вашим сайтом, не указана.
Другой способ решения этой проблемы - увидеть код, скрывающийся за «интеллектуальными» капчами, которые генерируют сайты типа Slashdot . У некоторых остроумных devel ;-) есть куча слов семантически , связанных с данной темой, и они используют эти фразы для ввода капчи.
Эта интеллектуальная / интеллектуальная капча немного похожа на Google Sets .
Coding Horror также иногда показывал эти умные catpchas.
Поиграйте с этими типами сервисов или воспользуйтесь хорошей базой данных семантически связанных терминов. Затем свяжите эти термины с подсказкой, которую вы просите предоставить пользователю.
Google делает это легко, потому что "Все ваши поиски принадлежат Google" (TM).
У вас гораздо более простая задача - вам не нужно сканировать сеть, и вам не нужно предоставлять результаты или ссылки для поисковых систем. Все, что вам нужно, это семантически база данных.
Вы можете получить его, если выглядишь достаточно усердно в Интернете.
Вы можете начать с синонимов / антонимов и т. Д.
IIRC, одним из них является Wordnet, но я не знаю лицензию. Так что ищи это.
Дополнительно (необязательно, но не реализуйте частично):
Я полагаю, что если вы делаете такую хорошую вещь, сделайте это с открытым исходным кодом.
Это будет очень полезно для других и даст вам отличную репутацию.
И обязательно опубликуйте код для автоматического входа в систему для неизбежной ситуации, когда некоторые программисты без этики и большого количества свободного времени будут использовать семантически связанную базу данных открытых слов для генерации запросов регистрации против вашего приложения и всех остальных !
Боты становятся все умнее и умнее.
Проверка электронной почты является одной из мер защиты от этого - но это только в том случае, если эта служба электронной почты не может быть подорвана - что может быть, если это новая служба электронной почты - которые продолжают появляться все время.
Так что это большая задача, если вы собираетесь реализовать эту идею и выпустить ее как open source. Тогда ты должен защищать это тоже.
Или вы можете просто сохранить свой собственный сайт.