С QQ роль SMS после WeChat, кажется, не имеет особой пользы для отдельных лиц.Обычно общение между друзьями осуществляется через WeChat (также QQ), что постепенно ослабляет полезность SMS. Но как разработчик мы по-прежнему будем поддерживать связь с платформой SMS.
СМС теперь использует:
- Проверка безопасности веб-сайтов и приложений (регистрация, логин, изменение пароля и т. д.)
- Рекламный толчок
- Поздравления с днем рождения (от финансового управления, страховки, банка)
- Как извиниться после того, как девушка в гневе заблокировала WeChat/звонок
- Еще есть люди, которые уверенно продают товар класса А (см. в конце статьи, если интересно)
- .......
В настоящее время Alibaba Cloud, Baidu Cloud и Tencent Cloud имеют собственные SMS-платформы, которые также интегрированы в нашу систему. Когда-то наша официальная система окружения была настроена на одну из платформ SMS, которая работает непрерывно уже 2 года.
Во время недавнего использования десятки тысяч текстовых сообщений были злонамеренно отправлены один раз (лучше открыть ежедневный максимальный предел на платформе, мы не открывали его).
Некоторые из наших SMS-интерфейсов являются общедоступными (функции забытого пароля и регистрации), а вызовы API могут осуществляться напрямую без авторизации, а также в нашей системе осуществляется некоторый контроль частоты, но ограничения по IP-адресу нет.
Как сделать функцию текстового сообщения безопасной?
Одним словом: Настоящей безопасности в Интернете нет.Безопасность относительна, то есть максимально увеличить цену злоумышленникам.
Новичок: Только подумайте, можно ли его отправить, изучите интерфейсную документацию платформы SMS, напишите код для отладки и, наконец, отправляйте SMS нормально. Напишите код, связанный с бизнесом, сохраните и кэшируйте соответствующую информацию, дождитесь проверки и завершите разработку функции коротких сообщений.
Ветеран: Изучите документацию по интерфейсу платформы SMS, напишите код для отладки и отправляйте SMS в обычном режиме. Продолжайте инкапсулировать интерфейс SMS и увеличивайте контроль частоты.Например短信发送间隔时间,验证码过期时间,同一账号发送限制,次数限制的间隔时间Ждать. Конфигурация выглядит следующим образом
captcha:
sms:
# 短信验证码过期时间(分)
expire: ${SMS_EXPIRE:5}
# 验证码发送间隔时间(秒)
interval: ${SMS_INTERVAL:60}
# 同一个账号发送次数限制
limit-time: ${SMS_LIMIT_TIME:10}
# 次数限制的间隔时间(时)
limit-interval: ${SMS_LIMIT_INTERVAL:12}
Будут дополнительные интерфейсыВызвать ограничение IP(Предотвратите частые вызовы интерфейса с одного и того же IP-адреса), затем напишите бизнес-код для завершения разработки.
Вы также можете отфильтровать некоторые недопустимые отправки SMS, например:
1. Подтверждение номера мобильного телефона: Если номер мобильного телефона не указан, он не будет отправлен. Вы можете использовать компонент Google для проверки, и можно проверить как внутренние, так и иностранные номера мобильных телефонов.
<dependency>
<groupId>com.googlecode.libphonenumber</groupId>
<artifactId>libphonenumber</artifactId>
<version>8.12.6</version>
</dependency>
2. Функция регистрации: Существующие в системе не будут отправлены.Проверьте, был ли зарегистрирован номер мобильного телефона при отправке текстового сообщения, а не при фактической регистрации и отправке данных.
3. Сменить пароль: Если его нет в системе, он не будет отправлен.При отправке проверочного кода проверьте, является ли номер мобильного телефона пользователем в системе.
Вышеупомянутое решение выполняет контроль частоты только для одного и того же номера мобильного телефона и IP-адреса, но если злоумышленник использует постоянно меняющиеся IP-адреса для отправки текстовых сообщений на разные номера мобильных телефонов, потери текстовых сообщений и преследования пользователей не избежать.
Для ее решения используйтеКапчаилиповеденческий код проверки
Графический проверочный код относительно прост и не требует затрат, его можно реализовать, разработав собственную программу, эффект следующий.
Это визуально трудоемко и требует дополнительных операций пользовательского ввода, опыт не очень хороший, и машинам относительно легко распознавать и анализировать текст в нем. Если вы хотите увеличить сложность машинного распознавания, вам нужно увеличить размытость изображения, чтобы частота ошибок пользователя была выше, а опыт хуже.
поведенческий код проверкиНа этом этапе я должен упомянуть проверку изображения 12306, которая сводит людей с ума покупать билеты во время фестиваля.Это своего рода штрих, как показано ниже.
Есть еще более распространенная схема перетаскивания, следующая
Этот опыт намного лучше, чем графика, удобнее и красивее, а фоновое изображение также можно использовать для рекламы.
Основная идея поведенческой проверки состоит в том, чтобы использовать «поведенческие характеристики пользователя», чтобы сделать проверку суждениях безопасности. Через машинное обучение и глубокое обучение, большое количество человеческих поведенческих характеристик анализируется. Создайте модели безопасности для дифференцирования между человеческими и машинными программами. Нейронная сеть, построенная глубоким обучением, может постоянно изучать самостоятельно, и постоянно изучать новый анализ функций в процессе непрерывного проверки (Source Baidu Encyclopedia)
Обычно компании не имеют этой способности, вам нужно тратить деньги
Если вы не хотите тратить деньги, вы также можете реализовать простой слайдер по вырезу.Сервер записывает расстояние от положения выреза слайдера до края картинки, и отправляет исходное изображение и слайдер на передний план end, а передняя часть передает сервису расстояние скольжения после того, как пользователь скользит.На стороне сервера серверная сторона проверяет правильность, сравнивая расстояние, на которое пользователь перетаскивает ползунок (не для безопасности).
И естьAPI увеличивает текущий лимит
Суммировать:
- контроль частоты, увеличение
短信发送间隔时间,验证码过期时间,同一账号发送限制,次数限制的间隔时间контроль. - Увеличьте частоту IP-вызовов на интерфейс.
- Избегайте ненужных вызовов интерфейса, проверяя, например
手机号格式校验,注册功能:系统中已存在的不发送,修改密码:系统中不存在的不发送 - Добавьте поведенческие коды подтверждения.
- Ограничение
" Опять же, абсолютной безопасности не бывает, безопасность — это состязание между нападением и обороной. "