Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Отсылка смс
 
 автор: JIEXA   (14.05.2005 в 21:33)   письмо автору
 
 

Как можно отослать смс на мобилу средствами пхп? Какой диапозон номеров?

   
 
 автор: Akira   (14.05.2005 в 22:40)   письмо автору
 
   для: JIEXA   (14.05.2005 в 21:33)
 

>Как можно отослать смс на мобилу средствами пхп? Какой
>диапозон номеров?
Эээ...как это понемать?
Отсылать смс можно только через сайты ОПСОСов (гейты почти все закрыты)
Но для этого надо сделать обработчик изображения, где указываеться код для оправки.

   
 
 автор: JIEXA   (14.05.2005 в 22:55)   письмо автору
 
   для: Akira   (14.05.2005 в 22:40)
 

Походу я с отсылкой смс обломался :(

   
 
 автор: Akira   (14.05.2005 в 23:12)   письмо автору
 
   для: JIEXA   (14.05.2005 в 22:55)
 

Ну я бы не стал так кретично =) Отсылка будет, только столько (-) , что смысл будет не большой.

   
 
 автор: krot   (14.05.2005 в 23:27)   письмо автору
 
   для: JIEXA   (14.05.2005 в 22:55)
 

в нете каждый оператор предлогает бесплатную отправку смс, и только 1/2 из них при отправкке требет ввода кода подтверждения! можно сделать свою форму для отправки смс, или через сокеты(помоему)! трабла в том что там ограниченное колличество отправляемых смс(ограничение по IP), но ето можно обойти средствами пхп. единственное что админ может запретить отпраку смс на определлённый номер, если запалит большое кол. отправленных смс(мне так билайн запретил)! а так ето всё реально щамутить!
есть даже прога которая отправляет сформированный тобой запрос стока раз сколько ты захочешь, вот тока я название не помню, но могу узнать!

   
 
 автор: krot   (14.05.2005 в 23:33)   письмо автору
 
   для: krot   (14.05.2005 в 23:27)
 

кстати! есть зарубежные неплохие гейды, которые работают с нашими операторами! есть даже такие ,оторые сами дают скрипты для отпраки через их гейд смсок! я скачал несколько , но у меня так ничего и не вышло! вот етот например отправляет по все россии, если я не ошибаюсь! [url]www.simplewire.com[/url] про них даже в хакере писали! да и ещё в одном выпуске хакера с кнопкой RESET есть на ету тему целая статья! могу подюросить пару смс гейдов и опов(урлы)!.......

   
 
 автор: Flash5   (15.05.2005 в 01:20)   письмо автору
 
   для: krot   (14.05.2005 в 23:27)
 

Точно как раз через сокеты! Я нашего прова накрутил, мы теперь отсылаем больше 20000 смс в месяц :-) А он до сих пор не понял, мы для этого используем 10 разных usernaem/password

   
 
 автор: krot   (15.05.2005 в 01:25)   письмо автору
 
   для: Flash5   (15.05.2005 в 01:20)
 

можно подробности! если не трудно! что за пров! и покажи как ты ето заюзал через сокеты! просто интересно! и чё за usernaem/password, и почему именно 10? получается по 2000 смс в месяц с акаунта, интересно чтож там за админ если не видит! дай урл!

   
 
 автор: Flash5   (15.05.2005 в 01:57)   письмо автору
 
   для: krot   (15.05.2005 в 01:25)
 

Держи:
http://sms.ge
username: delphi501
password: 123456789
Мой номер (+995)99 479947
Жду месагу :-)
Я делал авторизацию программно, а именно вручную заполнял переменные username, password, SessionID. Потом имитировал нажатие на клавишу и так далее, кстати из за этих сволочей мне пришлось мучатся месяц, они оказывается даже проверяют название кнопки :-) Прогу можешь скачать с gesoft.gol.ge, SMS Sender поддерживает ссылку смс с длиной до 10000 символов :-) Ни какой рекламы и т.д. Проблема в том что прога на грузинском языке и заточена под грузинские мобильные провайдеры! Но тоже самое можно замутить с любым!
П.С. РНР кстати я начал изучать из за этого! Хотел понять как передаются данные что бы программно через сокеты симулировать :-)

Могу прислать исходники, только они на KOL (Key Object Library)

   
 
 автор: Ziq   (15.05.2005 в 08:03)   письмо автору
 
   для: Flash5   (15.05.2005 в 01:57)
 

А что такое KOL?
>Могу прислать исходники, только они на KOL (Key Object Library)
Конечно шли!!!

   
 
 автор: krot   (15.05.2005 в 12:04)   письмо автору
 
   для: Flash5   (15.05.2005 в 01:57)
 

чёто не получается зайти подтвоей учёткой! пишет не верный пароль или логин(только на английском)! попробуй может чё не так! пытался зарегаться, но он на всё пишет что такой пользователь уже есть! может что у них глючит!

   
 
 автор: Flash5   (15.05.2005 в 12:37)   письмо автору
 
   для: krot   (15.05.2005 в 12:04)
 

Ошибся в username
UserName: Delphi503
Password: 132456789
KOL это новый синтаксис в объектно ориентированном программировании. С помощью этой библиотеки на Delphi получаешь программу которая не уступает C++ как размере так и в скорости. Правда писать на нем очень сложно, приходится использовать API функции, ок но это уже совсем другая тема. Главное то что сокеты работают везде одинаково (к сожалению в PHP я пока не разбираюсь в сокетак на таком уровне, но сегодня начну разбирать и если что получится выложу в этом топике). Вот код отвечающий за авторизацию:

Я попытался выкинуть ненужную часть программы, но в этом листинге хорошо видно какие параметры надо пересылать и какому скрипту!

begin
if not InternetConnected then
begin
MsgOK('There is no internet connection! Try again later.');
exit;
end;

Value:='name="PHPSESSID" value="';

form1.IEHTTP1.MultipartPOST:=False;
form1.IEHTTP1.RequestMethod:='POST';
form1.IEHTTP1.ExecuteURL('http://www.sms.ge/index.php');
Buffer:=form1.IEHTTP1.sl.Text;
Applet.ProcessMessages;

P1:=Pos(Value,Buffer);
Delete(Buffer,1,P1+Length(Value)-1);
P2:=Pos('"',Buffer);
Buffer:=Copy(Buffer,1,P2-1);

form1.IEHTTP1.MultipartPOST:=True;
form1.IEHTTP1.AddMultipartVar('username','Bela503');
form1.IEHTTP1.AddMultipartVar('password','123456789');
form1.IEHTTP1.AddMultipartVar('PHPSESSID',Buffer);
form1.IEHTTP1.ExecuteURL('http://www.sms.ge/index.php');
Applet.ProcessMessages;

form1.IEHTTP1.MultipartPOST:=False;
form1.IEHTTP1.RequestMethod:='POST';
form1.IEHTTP1.ExecuteURL('http://www.sms.ge/index.php');
Applet.ProcessMessages;

Msgs:=Form1.RichEdit1.Text;

form1.IEHTTP1.MultipartPOST:=True;
Case Form1.Provider of
1: form1.IEHTTP1.AddMultipartVar('prefix','99593');
2: form1.IEHTTP1.AddMultipartVar('prefix','99577');
3: form1.IEHTTP1.AddMultipartVar('prefix','99599');
end;
form1.IEHTTP1.AddMultipartVar('gsm',Int2Str(Form1.TelNumber));
form1.IEHTTP1.AddMultipartVar('submit',' Send ');
form1.IEHTTP1.AddMultipartVar('msg',Msgs);
form1.IEHTTP1.AddMultipartVar('num',Int2Str(Length(Msgs)));
form1.IEHTTP1.ExecuteURL('http://www.sms.ge/index.php');
end

   
 
 автор: krot   (15.05.2005 в 20:50)   письмо автору
 
   для: Flash5   (15.05.2005 в 12:37)
 

а чем ето компилить? KOL говоришь? ХМ....полезна штука наверное?

   
 
 автор: Flash5   (15.05.2005 в 20:59)   письмо автору
 
   для: krot   (15.05.2005 в 20:50)
 

Что касается KOL то это надо компилить с помощью Delphi, я очень долго заниматься программированием в среде Delphi, по этой причине пытался добиться высоких результатов не смотря на всемирное отрицания Delphi! :-) И получилось

   
 
 автор: Flash5   (15.05.2005 в 20:56)   письмо автору
1.8 Кб
 
   для: JIEXA   (14.05.2005 в 21:33)
 

Вот процедура которая облегчит жизнь многим новичкам :-) Как и обещал разобрался как работает socket, теперь осталось использовать это для искусственной авторизации
Большое спасибо cheops за хорошую документацию по header
п.с. А почему вы, cheops, не разместили мой исходник по защите сайта от автоматической генерации. Я вам его прислал письмом.

<?php
  
function SendVaribles($Server$Port$Url$Varibles) {
    
// Возвращаем адрес хоста
    
$Address gethostbyname($Server);

    
//Создаём сокет
    
$Socket socket_create(AF_INETSOCK_STREAMSOL_TCP);
    if (
$Socket 0) {
      echo 
"socket_create() завершилась неудачей: причина: " socket_strerror($Socket) . "\n";
    }

    
//Соединяемся
    
$Result socket_connect($Socket$Address$Port);
    if (
$Result 0) {
      echo 
"socket_connect()  завершилась неудачей: причина: ($Result) " socket_strerror($Result) . "\n";
    }

    
//Получаем список переменных которые передал пользователь
    
$VariblesNames array_keys($Varibles);
    
$VariblesCount count($VariblesNames);
    
$Data '';
    if (
$VariblesCount>0) {
      
//Формируем строку с переменными
      
for ($i=0$i<$VariblesCount-1$i++) {
        
$Data .= $VariblesNames[$i] . "=" urlencode($Varibles[$VariblesNames[$i]]) . '&';
      }
      
$Data .= $VariblesNames[$i] . "=" urlencode($Varibles[$VariblesNames[$i]]) . '\r\n\r\n';
    }

    
//Подготавливаем header запроса
    
$Headers "POST $Url HTTP/1.1\n";
    
$Headers .= "Host: $Server\r\n";
    
$Headers .= "Content-type: application/x-www-form-urlencoded\r\n";
    
$Headers .= "Content-Length: ".strlen($Data)."\r\n\r\n";

    
//Отправляем заголовок
    
socket_write($Socket$Headers.$Datastrlen($Headers.$Data));

    
//Читаем данные из сокета
    
$PageContent '';
    while (
$Out socket_read($Socket2048)) {
      
$PageContent .= $Out;
    }
    
socket_close($Socket);
    return 
$PageContent;
  }

  
$Varibles = array ();
  echo 
SendVaribles('www.sms.ge'80'/index.php'$Varibles);
  
$Varibles = array ( 'username'=>'Delphi503''password'=>'12345679');
  echo 
SendVaribles('www.sms.ge'80'/sms.php'$Varibles);
?>

   
 
 автор: Flash5   (15.05.2005 в 21:35)   письмо автору
 
   для: JIEXA   (14.05.2005 в 21:33)
 

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

   
 
 автор: krot   (16.05.2005 в 01:23)   письмо автору
 
   для: Flash5   (15.05.2005 в 21:35)
 

не получается использовать сокет снова
на сколько я помню(не из пхп) такого не долдно происходить да ты и сам вкурсе мож чё нет с кодом? хотя ХЗ!

   
 
 автор: krot   (16.05.2005 в 01:29)   письмо автору
 
   для: Flash5   (15.05.2005 в 21:35)
 

кстати , к тебе приходило сообщение? я отправлял! а не было твоего номера! всмыслке начала там только +99577 и +99593! а какой из них ХЗ! но я на оба отправлял!

   
 
 автор: Flash5   (16.05.2005 в 12:23)   письмо автору
 
   для: krot   (16.05.2005 в 01:29)
 

Ничего не приходило потому что на номер +99599 бесплатно нельзя отправлять, я совсем забыл. Вы можете прислать сообщение на мой второй номер +99577 50 98 51 или +99593 22 57 66.
Что касается сокетов, то я ничего пока не могу сказать, единственное что приходит в голову это то что наверно необходимо выполнить некие операции до того как выполнить запрос заново. Похожая проблема была у меня с Stream-ами, там оказывается после определения размера курсор переходил в конец и приходилось его в ручную переводить назад в начало. Возможно здесь тоже есть некий подводный камень?
Может кто знает?

   
 
 автор: Flash5   (17.05.2005 в 14:34)   письмо автору
 
   для: JIEXA   (14.05.2005 в 21:33)
 

Пришла мысль по использованию снифера для просмотра как Header генерирует IE!
Что скажете?

   
 
 автор: Flash5   (18.05.2005 в 23:34)   письмо автору
 
   для: JIEXA   (14.05.2005 в 21:33)
 

Я вообще не совсем понял, кажется топик стартеру уже наплевать на свой созданный топик или он нашел решение? Если нашел то прошу поделится!
Может кто разобрался почему не получается воспользоваться одним и тем же сокетом повторно, проведя изучения пакетов, пойманных снифером, я пришел к выводу что мы не совсем правильно отсылаем данные методом POST, так как при нормальной отсылке (без симуляции сокетами) пакет был отловлен удачно, было вычислено правильно Content Length но вот сам Content не был виден. В нашем же случае он виден как Additional Data если не ошибаюсь, и его можно прочесть без проблем! Вывод один, параметры POST методом пересылаются в другом формате, кстати header содержал до 12 разных параметров!
Завтра намерен разобраться в исходных кодах компонента IdHTTP для дельфи, я его использовал для симуляции отправки сообщения! Если у кого появилось желание решить данную проблему то сообщите, вышлю исходный код и информацию которую я собрал к данному моменту.

   
 
 автор: JIEXA   (18.05.2005 в 23:58)   письмо автору
 
   для: Flash5   (18.05.2005 в 23:34)
 

нет, просто я понял, что сделать отсылку на многие номера не получится, следовательно моя идея провалилась.

   
 
 автор: Flash5   (19.05.2005 в 11:34)   письмо автору
 
   для: JIEXA   (18.05.2005 в 23:58)
 

Да! но вам не раз понадобится в будущем использовать сокеты и вопрос связанный с их повторным использованием мне кажется должен быть актуален для всех пользователей? Разве я не прав?

   
 
 автор: Flash5   (20.05.2005 в 11:38)   письмо автору
 
   для: JIEXA   (18.05.2005 в 23:58)
 

Нигде не смог найти решение проблемы! Кажется эту проблему решить почти не возможно, я написал в тех. поддержку PHP но вот уже больше недели как от них нет ответа. Меня удивляет тот факт что никому не интересно :-) Неужели сокеты это такая не интересная тема?
П.С. Правда благодаря этой проблеме я нашел решение совсем другой проблемы, и получается время я напрасно не потеряю

   
 
 автор: Flash5   (22.05.2005 в 20:50)   письмо автору
 
   для: JIEXA   (18.05.2005 в 23:58)
 

Я разобрался, если вас заинтересует могу прислать на мыло!
[поправлено модератором]

   
 
 автор: Flash5   (23.05.2005 в 12:40)   письмо автору
 
   для: JIEXA   (14.05.2005 в 21:33)
 

Рабочий пример смотрите:
http://www.gesoft.org/

   
 
 автор: Flash5   (23.05.2005 в 16:43)   письмо автору
 
   для: JIEXA   (14.05.2005 в 21:33)
 

На меня донесли! Думали донеся на меня вы выиграете? Может сервис и прикрыли :-)

[поправлено модератором]

   
 
 автор: cheops   (23.05.2005 в 23:11)   письмо автору
 
   для: Flash5   (23.05.2005 в 16:43)
 

Вы про что и к кому сейчас обращаетесь? Не думаю, что участникам форума, а уж тем более администрации есть дело до http://sms.ge, тем более если бы мы посчитали, что тема может нанести вред - она бы была закрыта в два счёта.
Вам не кажется, что крича на всех форумах о дыре в сервисе или ещё чём-то подобном, вы сами на себя доносите - через эту тему прошло больше 1000 человек, как вы думаете, администратор сервиса по лени не закрывавший этот сервис увидивший небывалую сетевую активность из России, что сделает?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования