Программа для отправки SMS через sockets MTC (Исходник php)


МТС

Расскажу вам, о том, что многие программисты PHP, могут потерять время, сделав для своей фирмы отсылку SMS сообщений с сайта! И столкнуться они со шлюзом API от компании МТС. (В том случае, если вы заключили с ними договор об sms-рассылках, Мобильные Теле Системы, они же МТС) вам покажется всё очень не просто. Я лично, съел на этом собаку! Потратив 2 дня, что бы написать эту программу. Как только МТС даёт вам адрес шлюза — казалось бы и всё на этом, ан нет! Вам надо отправлять sms через сокеты: безопасно, быстро, в фоновом режиме, не загружается страничка, и самое то главное — это возможность отправлять прямо с вашего сайта, кому угодно, когда угодно и что угодно. И вот тут-то, начинается самое интересное. Казалось бы всё просто, но обращение происходит через страничку MTC где «пробрыкивает» надпись: /mts.ru/тряляля… клиенты скажут фу…. лажа, увидят ваш пароль и логин (даже зашифрованный) можно взять из формы… сделать свою и отправляй себе за счёт другого! За  счёт вас! Заманчиво? Так и делают хакеры… А вам то не надо пароль палить, значит скрыто… Значит PHP должно работать через socket или curl. Удобнее через безопасные сокеты. Пароль и логин никто не увидит. Внимание, зашифрованный пароль md5 — это 6-8 цифр от ЛК админки МТС (чур я этого не говорил) что расшифровывается на раз два… А логин, это: ихний (МТС) телефон… Но у вас — этих данных видно быть не должно. Что сделал я:

    // открываем сокет сервера port 88 — timeout: 30 sec (https у МТС:88, как не странно)
    $fp = fsockopen($host, 88, $errno, $errstr, 30);
 
    if ($fp){
 
        // отправляем заголовок сервера:
        fputs($fp, «POST $path HTTP/1.1\r\n»);
        fputs($fp, «Host: $host\r\n»);

 

И вот, открываем сокет-соединение… и готовим наш файл, для отсылки в шлюз МТС. Надо сказать, что работает такая отслыка просто пулей. Даже если пакеты я базово разбиваю по 256 байт, сама мессага, в смысле sms сообщение приходит просто пулей. Только зависает палец на кнопке Enter как тут же на вашем телефоне ваша же отправленная мессага. Эту программу, я делал специально, для одного из Интернет-магазинов для уведомления покупателей и продавца. Кстати, буквы коцаются, т.к. родной формат sms это кодировка utf соответственно перекодируем:

             // Конвертируем текст и тему в UTF8
             $userSubjectSms = iconv(«CP1251», «UTF-8», $userSubjectSms);
             $smsBodyText1 = iconv(«CP1251», «UTF-8», $smsBodyText1);

Ну а если ошибка, или что-то пойдёт не так, то что тогда. Ведь защищённого соединения через сокеты не видно простым глазом. Если GET видно, или о POST можно догадаться, то SOCKET молчит, а в это время за вас гудит сервер, пересылая информацию. Для этого, есть:

              if ($result[‘status’] == ‘ok’)
              {
                  echo («<font color=\»#dfdfdf\» face=\»Arial,Helvetica,Tahoma\» size=\»4\»>SMS отправлено пользователю:».$userSubjectSms.»<br></font>»);
              }
              else {
                  echo («<font color=\»#dfdfdf\» face=\»Arial,Helvetica,Tahoma\» size=\»4\»>SMS не отправлено! И вот почему:».$result[‘error’].»<br></font>»);
              }

А если я не хочу сам вводить данные в поля, и допустим тут же другой сайт(человек) передаёт данные и тоже отправляет в это же самое время. Что будет? Ну во-первых сокеты сразу делают зашифрованный слой с котором происходит обмен данными. Настроек есть множество, но я взял самые классические, простые. Т.е. как только вы захотите отправить туда же и тоже самое и потому же адресу — сокет автоматически создаст новый слой ssl шифрования и отправит через сервер. Во-вторых, кому ручками писать — пожалуйста, есть форма, при желании которую можно убить:

<html>
<body bgcolor=»#000000″>
<font color=»#dfdfdf» face=»Arial,Helvetica,Tahoma» size=»4″>
<H3>Отправка SMS через МТС-шлюз</H3>
<b>(Sockets PHP (Serever_to_Server))</b><br>
<form target=»_parent» action=’sms_socet_sender.php?send=12345′ method=»POST»>                      
         Номер:        <input maxlength=»11″ type=»text» size=»15″ name=»msid» title=»79031119944″><br>
         Мессага:    <input maxlength=»1024″ type=»text» size=»90″ name=»message» title=»Ваш текст sms-сообщения (ПЕРЕНОСЫ — не используем!)»><br>
         <input type=»hidden» name=»sms»>
         send:        <input type=»submit» value=»Отправить SMS»><br>
</form>
</font>
</body>
</html>


МТС

При желании, программу можно переделать самому, как угодно. Она проста в понимании и редактировании. Безопасна. Быстра. И прочее. После небольшого пожертвования на развитие нашего интернет-проекта, указанного на следующей страничкея смогу выслать вам по электронной почте исходный код php, данной программы, сократив вам два дня трудоёмкой работы в понимании: почему у меня не отправяются смс через шлюз… и прочих, лишая вас гиммороя, через который прошёл сам, и успешно! И так, вот тут, представлен исходник программы для отправки SMS через sockets MTC (Мобильные Теле Системы) на любой номер. Все секреты и обходы багов представлены внутри программы — как комментарии. Советую скачать для отправки SMS через sockets MTC данную прогу, и не взрывать себе мозг. Да и другим. Всё понятно написано внутри. Отладить можно на любом Денвере или Ресурсе с поддержкой php. В переписку я не вступаю, т.к. ценю своё время. Пожалуйста, подтверждайте ваш обратный адрес электронной почты для получения данной проги. Желаю удачи и поменьше гимороя…

4 thoughts on “Программа для отправки SMS через sockets MTC (Исходник php)

  1. — Так и делают хакеры 😀 рассылая Вам, использующих обычное соединение с провайдером: Роизыргыш БМВ…, Дорогая я попал в аварию…, Срочно нужны деньги…, Ваш сын сейчас…, а всё из-за того, что программисты не использовали в работе безопасные СОКЕТЫ! А провы тут не причём… их винить не надо! Сами лохи, что когда-то сделали код из которого можно вытащить пароль и логин от sms-рассылки.
    В его программе есть защищённый режим, реально показывал! Он просто дал объявление… :mrgreen: надо помочь парню финансово

  2. Программа полностью рабочая. Вписываете логин и пароль и вперёд. Тестовые и Живые раздачи, там где можно проверить — не даю и не дам специально! А то умников много стало. 😳

Comments are closed.