Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 21564 сообщений
Cообщения с меткой

смс - Самое интересное в блогах

Следующие 30  »
Крайт333

Чота по-моему меня оскорбить хотят )))

Среда, 10 Августа 2016 г. 12:07 (ссылка)

Ничего бы особенного, Мегафон прислал очередную СМС с предложением скачать игрушек.
Но каких!!!

Итак, с точки зрения сотового оператора, для моего уровня интеллектуального развития хорошо подойдут приложения со следующими говорящими за себя названиями: "Бум-бум шарики!", "Дави фрукты!" и, бля, "Соедини птичек!"...


ЗЫ
В данном контексте у меня единственный (и довольно логичный, по-моему) вопрос - а пачку памперсов в подарок дают?..

Метки:   Комментарии (65)КомментироватьВ цитатник или сообщество
NATAHART

Опечатки сделали эти СМС шедеврами)))

Среда, 27 Июля 2016 г. 22:35 (ссылка)

Это цитата сообщения gyord-pro-ladies Оригинальное сообщение

Опечатки сделали эти СМС шедеврами





15 смс, в которых опечатки сделали их шедеврами!



Осторожнее с функцией автозамены в вашем телефоне! :))



 



ЧИТАТЬ ПОСТ ЦЕЛИКОМ
Метки:   Комментарии (2)КомментироватьВ цитатник или сообщество
SunSkay

распечатка звонков

Пятница, 22 Июля 2016 г. 10:02 (ссылка)

К вам или вашему ребенку приходит сотни смс сообщений, вы не всегда можете отследить поток, что делать, как справиться с информационными потоками и новостями быстро. Есть выход!

Сегодня без мобильного телефона и смс сообщений никуда, и действительно информации стало больше, осваивать ее все сложнее, поэтому возникает необходимость распечатки смс сообщений. Как же это сделать. Сегодня я вам дам ссылку на сайт, тут распечатка звонков с любых операторов быстро и всегда качественно. На сайте есть подробная информация и другие необходимые опции, вы сможете узнать и спросить все, что вас интересует.

Регистрация и личный кабинет позволят вам в любое нужное и удобное время получать исчерпывающую информацию о смс сообщениях.

Метки:   Комментарии (1)КомментироватьВ цитатник или сообщество
Фитиль_Дом2 (Автор -natulek_camors)

юморное ассорти.

Четверг, 21 Июля 2016 г. 14:44 (ссылка)


1.

1394608758_podborka_13 (700x467, 241Kb)

Читать далее...
Метки:   Комментарии (6)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

Организация аутентификации по СМС по примеру Telegram/Viber/WhatsApp

Четверг, 14 Июля 2016 г. 19:49 (ссылка)

Представим, что перед вами стоит задача организовать аутентификацию пользователя (в мобильном приложении, в первую очередь) так, как это сделано в Telegram/Viber/WhatsApp. А именно реализовать в API возможность осуществить следующие шаги:




  • Пользователь вводит свой номер телефона и ему на телефон приходит СМС с кодом.

  • Пользователь вводит код из СМС и приложение его аутентифицирует и авторизует.

  • Пользователь открывает приложение повторно, и он уже аутентифицирован и авторизован.



Я постараюсь кратко изложить выработанный подход к этому вопросу. Подразумевается, что у вас API, HTTPS и, вероятно, REST. Какой у вас там набор остальных технологий неважно. Если интересно — добро пожаловать под кат.



Изменения в API



В сущности требуется добавить два добавить три метода в ваше API:




  • Запросить СМС с кодом на номер, в ответ — токен для последующих действий.



Действие соответствует CREATE в CRUD.



    POST /api/sms_authentications/
Параметры на вход:
phone
Параметры на выход:
token


Если всё прошло, как ожидается, возвращаем код состояния 200.



Если же нет, то есть одно разумное исключение (помимо стандартной 500 ошибки при проблемах на сервере и т.п. — некорректно указан телефон. В этом случае:



HTTP код состояния: 400 (BAD_REQUEST), в теле ответа: PHONE_NUMBER_INVALID.




  • Подтвердить токен с помощью кода из СМС.



Действие соответствует UPDATE в CRUD.



    PUT /api/sms_authentications//
Параметры на вход:
sms_code


Аналогично. Если всё ок — код 200.



Если же нет, то варианты исключений:




  1. Некорректный токен: HTTP код состояния: 400 (BAD_REQUEST), в теле ответа: TOKEN_INVALID.

  2. Некорректный код: HTTP код состояния: 400 (BAD_REQUEST), в теле ответа: SMS_CODE_INVALID.




  • Форсированная отправка кода повторно.



    PUT /api/sms_authentications//resend


Аналогично. Если всё ок — код 200.



Если же нет, то варианты исключений:




  1. Некорректный токен: HTTP код состояния: 400 (BAD_REQUEST), в теле ответа: TOKEN_INVALID.

  2. Слишком частая отправка (скажем, прошлая отправка была не позднее чем 60 секунд назад): HTTP код состояния: 400 (BAD_REQUEST), в теле ответа: TOO_OFTEN.



Помимо этого, каждый метод API, который требует аутентифицированного пользователя должен получать на вход дополнительный параметр token, который связан с пользователем.



Литература:




  1. Образец для подражания — API Telegram: https://core.telegram.org/methods

  2. Дискуссия на SOF: http://stackoverflow.com/questions/12401255/sms-registration-like-in-the-mobile-app-whatsapp



Изменения в коде сервера



Вам потребуется хранить специальный ключ для проверки СМС-кодов. Существует алгоритм TOTP, который позволяет, цитирую Википедию:



OATH-алгоритм создания одноразовых паролей для защищенной аутентификации, являющийся улучшением HOTP (HMAC-Based One-Time Password Algorithm). Является алгоритмом односторонней аутентификации — сервер удостоверяется в подлинности клиента. Главное отличие TOTP от HOTP это генерация пароля на основе времени, то есть время является параметром[1]. При этом обычно используется не точное указание времени, а текущий интервал с установленными заранее границами (например, 30 секунд).


Грубо говоря, алгоритм позволяет создать одноразовый пароль, отправить его в СМС, и проверить, что присланный пароль верен. Причём сгенерированный пароль будет работать заданное количество времени. При всём при этом не надо хранить эти бесконечные одноразовые пароли и время, когда они будут просрочены, всё это уже заложено в алгоритм и вы храните только ключ.



Пример кода на руби, чтобы было понятно о чём речь:



totp = ROTP::TOTP.new("base32secret3232")
totp.now # => "492039"

# OTP verified for current time
totp.verify("492039") # => true
sleep 30
totp.verify("492039") # => false


Существует масса реализацией этого алгоритма для многих языков: для Ruby и Rails, для Python, для PHP и т.д..



Итого, в модели (или в таблице БД, если угодно) надо хранить:




  1. Телефон: phone (советую использовать библиотеки для унификации телефонного номера, вроде этой для Rails),

  2. Ключ для TOTP: otp_secret_key (читаете подробное README для выбранной библиотеки TOTP),

  3. Токен: token (создаете при первом запросе к API чем-нибудь типа SecureRandom),

  4. Ссылку на пользователя: user_id (если у вас есть отдельная таблица/модель, где хранятся данные пользователя).



Особенности реализации мобильного приложения



В случае Android полученный токен можно хранить в SharedPreferences, а для iOS в KeyChain. См. обсуждение на SoF.



Заключение



Вышеописанный подход позволит вам в рамках вашего стека технологий реализовать указанную задачу. Если вас есть соображения по этому подходу или альтернативные подходы, то прошу поделиться в комментариях. Аналогичная просьба, если у вас есть примеры документации к безопасным системам хранения в других мобильных ОС.


Original source: habrahabr.ru.

https://habrahabr.ru/post/305694/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best

Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

Как мы рассылали SMS со старой Nokia и телефона на Android

Пятница, 08 Июля 2016 г. 05:15 (ссылка)

image



Примерно год назад мы запустили свой маленький проект с оповещениями о поломках Москвовского метро.



Самой главной проблемой в нем оказалась рассылка смс. Мы не ожидали, что проект понравится и у нас будет 1500+ регистраций. В самом лучшем случае мы расчитывали человек на 300. Этим мы были приятно удивлены.



Проблема с смс в первую очередь была из-за цены. Одна рассылка получалась примерно 3000 рублей. С учетом того, что цена 1 смс 1,5 рубля. Были времена, когда неполадки в движением поездов были каждые 3 дня, т.е. 10 поломок в месяц. 3000*10 = 30 000 рублей. Дороговато для проекта, который не финансируется.



Тут мы начали изобретать велосипед. А именно, искать тарифы с действительно безлимитными смс. В итоге мы его нашли. Стоило что-то около 600 рублей в месяц. Дальше нужно было решить вопрос с отправкой смс. И тут пришло время древней nokia 6610i, которая пылилась в шкафу как память о былой эпохе. Но ее пришлось чуть доработать, а именно подключить по uart к ноуту, чтобы отправлять задания.



imageСхема



Пара диодов тут нужна чтобы сбросить напряжение с 5V до ~3.4V. Падение на диодах суммарно получается 1.6V при тока 1А. Такой ток нокия потребляет только при активной работе с сетью, а большую часть времени падение на них будет около 1.5V.

Большой и толстый конденсатор нужен чтобы сглаживать потребление телефона в тот момент когда работает передатчик, и он много жрет.

А резисторы — заменяют терморезистор и пин идентификации батарейки (BSI), по которому nokia понимает что к ней подключен аккумулятор.

У нас подходящих номиналов резисторов не нашлось, поэтому собрали из того что было.



image



Для отправки использовалась программа gnokii, из названия которой вполне очевидно, что писалась она как раз для таких целей.



Конфиг от нашей 6610i:



[global] port = /dev/ttyUSB0
connection = dlr3p
model = 6510




Команда для отправки

echo 'text' | gnokii --sendsms number




Чтобы рассылать можно можно было не только от root, нужно выставить соответствующие права на /dev/ttyUSB0



Тут понравилось, что нам могли отвечать, и нам отвечали. Но и проблемы тут не закончились, а именно скорость: такая рассылка занимала 4 часа. Поэтому таким образом мы рассылали информацию, которая актуальна длительный период, например, про закрытие части линии на ремонт. 1 симки нам хватало примерно на 3 тысячи сообщений, т.е. на пару рассылок. Дальше нас блокировали. Мы звонили в ТП и спрашивали причины блокировки, на что нам отвечали — рассылка. Один раз нам хватило одной симки на 5 рассылок, таймауты делали побольше и меняли текст. И нам всегда везло на красивые номера — мелочь, но приятно.



А поскольку в обычном случае у нас актуальность информации составляет минут 40, рассылка в идеале должна быть за пару минут. Поэтому мы решили сделать рассылку на телефоне с Android. Главным преимуществом этого решения была скорость, правда тоже далеко не идеально. 1 смс отправлялась за 1.5 секунды, что в результате выходило примерно в 37 минут. Дальше можно было параллелить при помощи подключения еще телефона и добиться нужной скорости. Но тут нас задушил оператор, который блочил нас или посредь первой рассылки или в начале второй.



Логика приложения заключилась в периодическом получении задания с сервера. Примерно раз в несколько минут приложение обращалось на сервер за командой в формате json, которая состояла из массива телефонных номеров и текстов смс.



У нас был поток для забора команды с таймаутом, поток для рассылки смс, BrodasReceiver для запуска после загрузки. Но проект потерялся, ввиду давности, поэтому полного кода не будет. Текст смс мы урезали до максимума 1 смс — 70 символов (это для кириллицы), это делала серверная часть, но на всякий случай отправка смс была ровно на 70 символов:



SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage("NUM", null, "TXT", null, null);




не забывая про права на отправку смс в манифест








Для автозапуска после включения не забываем про права:








Прописать в манифест:












Код Boot:



public class Boot extends BroadcastReceiver 
{

@Override
public void onReceive(Context context, Intent intent)
{
тут запуск потока
}
}






Автозапуск на случай разрядившейся батарейки ну и других аналогичных ситуаций, вдруг после включения забуду запустить приложение. А на этом телефоне всеравно живет только это приложение, поэтому некоторое расточительство по отношению к батарейке нам не страшно.



Ну и в Activity добавляем запуск потока.



Так же разрешаем приложению доступ в интернет:







И еще важный момент, чтобы наше приложение работало даже с выключенным дисплеем нужно вызвывать PowerManager. Иначе система будет усыплять приложение по своему желанию, для экономии заряда, и запросы будут выполняться нерегулярно.



Для этого добавляем пермишн:



                




Дабавляем код в Activity:


PowerManager pm = (PowerManager) this.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP|
PowerManager.FULL_WAKE_LOCK| PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "");




И в поток

PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "");
wl.acquire();

Обращение к серверу, обработка полученного json

wl.release();




Такой способ тоже не проработал долго, поскольку постоянно менять симки было не очень удобно и рационально — ценник стремительно рос и это потеряло смысл.



Дальше мы пробовали рассылать через Whatsapp, но тут номера умирали каждые 10 сообщений, а то и быстрее. А регистрация 1 номера стоила 7 рублей. Мы опять начали выходить на те-же цифры, с которых начали.



А не так давно мы сделали бота для телеграм — https://telegram.me/msk_metro, тут все так же как и с PushBullet, который мы подключили по просьбам после первого поста на хабре. Только тут мы можем удалять случайно прошедшие модерацию сообщения, а в PushBullet — нет.
Original source: habrahabr.ru.

https://habrahabr.ru/post/305264/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
lj_tema

Гипербред в смс

Среда, 15 Июня 2016 г. 11:01 (ссылка)

Прекрасный способ генерации бреда.

Открываем смс на айфоне и начинаем тыкать на кнопки с подсказками. Лучше всего получается, когда тыкаешь на разные (первая, вторая, третья) по кругу.

Результат настолько быстр и удивителен, что ваш собеседник никогда не допрет, что вы покурили.

Курите смс!



http://tema.livejournal.com/2266808.html

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество

Следующие 30  »

<смс - Самое интересное в блогах

Страницы: [1] 2 3 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda