Изпращане на СМС с cURL

dakata__92

Super Moderator
Здравейте искам да попитам мога ли със cURL да изпратя СМС от сайта на
http://smsbg.net/ (НЕ Е РЕКЛАМА) ?
Мислех си за нещо подобно :
PHP:
$send= curl_init();
	$data2 = array('MN1' => '359', 'MN2' => '0887', 'MN3 '=>'778315','ID'=>'MTM1MjU4NjkzOQ==','FROM'=>'Daniel','SM'=>'Teksta na saobshtenieto','num'=>'160','sbm'=>'Изпращане');
	curl_setopt($send, CURLOPT_URL, 'http://smsbg.net/sms.php');
	curl_setopt($send, CURLOPT_POST, 1);
	curl_setopt($send, CURLOPT_POSTFIELDS, $data2);
	curl_setopt ($send, CURLOPT_RETURNTRANSFER, true);
	curl_exec($send);
	curl_close($send);
 
Дори не виждам защо ти е да ползваш cURL ? Правиш си една форма и action на формата го задаваш същия който са задали във тяхната форма.
А и полетата трябва да са със еднакви имена.


EDIT: Имат защита за CSRF, мисля че няма да стане.
 
Да нооо ползвам cURL за един код където се логвам и иска да направя проверка от рода на preg_match нещо си и да пратя пост заявка към сървара на сайта но се сетих единствено с JS да кликтна заявката но не се получи :

PHP:
if(preg_match('/\<td class=\"tipi1Left\" align=\"center\"\>1\.14\<\/td\>/',$urlAdres2))
{
	echo '
	<script>
	function send()
	{
		getElementById("buton").click;
	}
	</script>
	<form target="if3" name=SMForm action="http://smsbg.net/sms.php" method=post>
<input name=MN1 value="359"> - <input name=MN2 value="0887"> - <input name=MN3 value="778315">
<input type=hidden name=ID value="MTM1MjU4NjkzOQ==">            
<input type="text" name="FROM"  value="Daniel">
<textarea name=SM >teks</textarea>
<input id="buton" type=submit value="Изпращане" name=sbm onload="send()">
</form>
<iframe name="if3" scrolling="yes" width="1000px" height="1000px" ></iframe>
	';
	echo "<br>Ima savpadenie";
}
else
{
	echo "<br>Nqma savpadenie";
}
 
Ето това:

<input type=hidden name=ID value="MTM1MjU4NjkzOQ==">

се сменя при всеки рефреш и се проверява в тяхния сървър, като не октрие съответствие, тогава спира изпълнението.

ЕДИТ Смисъл, при всеки рефреш на страницата тази комбинация се сменя и се проверява в тяхния сървър дали е 1 към 1. Иди им на сайта влез във source кода, дай рефреш 2 - 3 пъти и се увери.
 
eddyy93 каза:
Ето това:

<input type=hidden name=ID value="MTM1MjU4NjkzOQ==">

се сменя при всеки рефреш и се проверява в тяхния сървър, като не октрие съответствие, тогава спира изпълнението.
Досетих се и изпробвах да пратя двапати ръчно смс през формата с еднакво ИД и стана ! Как да подам на кода автоматично да го направи и да кликне бутона ?
HTML:
<script>
	function send()
	{
		getElementById("buton").click();
	}
	</script>
	<body onload="send()">
	<form target="if3" name=SMForm action="http://smsbg.net/sms.php" method=post>
<input name=MN1 value="359"> - <input name=MN2 value="0887"> - <input name=MN3 value="778315">
<input type=hidden name=ID value="MTM1MjU4NjkzOQ==">            
<input type="text" name="FROM"  value="Daniel">
<textarea name=SM >Kupihte darvo na cena 1.14</textarea>
<input id="buton" type=submit value="Изпращане" name=sbm >
</form>
<iframe name="if3" scrolling="yes" width="1000px" height="1000px" ></iframe>
</body>
 
Така да проследим нещата. Да речем твоят код използва file_get_contents(); взима информацията от дива. Слага е в твоя код, праща формата. Но нещо не се получава, защо? Ами защото тяхният сървър пренасят кода и по сесия. Тоест file_get_contents(); до колко знам не ти отваря сесия, следователно няма как да докажеш, че този код е равен на сесията от сървъра им (защото просто такава сесия не съществува).


А ето и една проста защита от CSRF:

http://web-tourist.net/login/login/view.php?st=3441

Така би трябвало да ти стане по ясно. : )
 
На мен ми стана ясно още с първия ти пост за какво става дума ! Проблема ми е че немога да симулирам клик над бутона за да изпратя формата :)
 
Нещо не мога да те разбера, хем си ме разбрал ...

Къде искаш да е пратиш тази форма?

Ако им е пращаш на тях тази форма, то те първо проверяват за ID от формата и сесията за която говорихме. Като видат, че не са еднакви и спира изпълнението.

Това, че при теб се е получило, е защото си влезнал във сайта (отворил си сесия), копирал ли си ID, сложил си го на твоята форма и следователно след като си пратиш формата, сайта им чете на формата ID и твойта сесия и тогава са равни и всичко е OK.
 
Хмм може аз да съм в грешка, но от това което прочетох искаш да сложиш форма да се пращат смс от твоя сайт посредством smsbg. За какво се мъчиш да правиш някакви шашми като хората са ти го дали на готово http://smsbg.net/freesmsform.php . Извинявам се, ако не искаш това.
 
Да разбирам ли, че този сайт използва e-mail2SMS, за да праща SMS, ако е така може и собствен скрипт да пишеш без минаваш през този сайт.
 
ivo75 каза:
Да разбирам ли, че този сайт използва e-mail2SMS, за да праща SMS, ако е така може и собствен скрипт да пишеш без минаваш през този сайт.
да няма ссмисъл смс-те се пращат по-този начин пример с мтел
359889264204@sms.mtel.net
 
Идеята ми е да се праща автоматично СМС а не някакъв потребител дааа въвежда данни ! Прии проверка на еди какво си ако има съвпадение се активира формата и се изпраща смс !
 
ivo75 каза:
Да разбирам ли, че този сайт използва e-mail2SMS, за да праща SMS, ако е така може и собствен скрипт да пишеш без минаваш през този сайт.
Това ме заинтересува ! Как може да се получи иии трябва ли да имам SMTP ?
 
dakata__92 каза:
ivo75 каза:
Да разбирам ли, че този сайт използва e-mail2SMS, за да праща SMS, ако е така може и собствен скрипт да пишеш без минаваш през този сайт.
Това ме заинтересува ! Как може да се получи иии трябва ли да имам SMTP ?

Ами чрез gmail например. Трябва да имаш акоунт в gmail и чрез него пращаш е-маил. Потърси нещо нета има много материали. Има само едно условие трябва да се активира услугата e-mail2SMS от Мтел и Глобул мисля, че Виваком не предлага още услугата.
 
Привет

Код:
'sbm'=>'Изпращане' го замени с 'sbm'=>'%C8%E7%EF%F0%E0%F9%E0%ED%E5'

Но реално от тази екстра ще могат да се възползват само мтелците.
 
Dog каза:
Привет

Код:
'sbm'=>'Изпращане' го замени с 'sbm'=>'%C8%E7%EF%F0%E0%F9%E0%ED%E5'

Но реално от тази екстра ще могат да се възползват само мтелците.

Може ли да ми подадеш цял работещ код на cURL ? Темата е актуална още :)
 
PHP:
$send= curl_init();
$data2 = array(
	'MN1' => '359', 
	'MN2' => '88', 
	'MN3'=>'7778315', 
	'ID'=>'MTE1MTA0NzM0MQ%3D%3D', 
	'FROM'=>'Daniel', 
	'SM'=>'Teksta na saobshtenieto', 
	'num'=>'144', 
	'sbm'=>'%C8%E7%EF%F0%E0%F9%E0%ED%E5'
	);
curl_setopt($send, CURLOPT_URL, 'http://smsbg.net/clients/sms.php');
curl_setopt($send, CURLOPT_POST, 1);
curl_setopt($send, CURLOPT_POSTFIELDS, $data2);
curl_setopt ($send, CURLOPT_RETURNTRANSFER, true);
curl_exec($send);
curl_close($send);
 
Не работи ! Някой незнае ли начин как да подам поне на абонатите на М-тел да получават съобщения ? Чрез мейл ли става ии как е възможно да стане с curl :idea:
 
Здравей отново
При мен кода работи ,виш какъв резултат ти връща.
Активирал ли си услугата mail2sms

PHP:
$send= curl_init();
$data2 = array(
	'MN1' => '359', 
	'MN2' => '88', 
	'MN3'=>'7778315', 
	'ID'=>'MTE1MTA0NzM0MQ%3D%3D', 
	'FROM'=>'Daniel', 
	'SM'=>'Teksta na saobshtenieto', 
	'num'=>'144', 
	'sbm'=>'%C8%E7%EF%F0%E0%F9%E0%ED%E5'
	);

curl_setopt($send, CURLOPT_URL, 'http://smsbg.net/clients/sms.php');
curl_setopt($send, CURLOPT_POST, 1);
curl_setopt($send, CURLOPT_POSTFIELDS, $data2);
curl_setopt ($send, CURLOPT_RETURNTRANSFER, true);
$output =curl_exec($send);
curl_close($send); 

print $output;

За другият вариант който питаш

PHP:
mail("359887123456@sms.mtel.net", "Nqkoi", "Teksta na saobshtenieto", $headers);
 

Back
Горе