Skyrimak 0 Odesláno: 8. Červenec, 2012 Share Odesláno: 8. Červenec, 2012 Zdravím, Jelikož hodně lidí se mě ptá jak jsem na http://www.mobilniplatby.cz (nebrat jako reklamu) udělal, že když dojde sms zapíše se mi do DB. tady je script vč. vysvětlivek formou komentářů. <?php //připojení k DB $server = "IP"; // jméno serveru $login = "JMENO"; // přihlašovací jméno $heslo = "IP"; // heslo $databaze = "DB"; // název databáze kde máte sql soubor (je níže) $tabulka = 'ucty'; MySQL_Connect($server, $login, $heslo) or die("Nepodařilo se připojit k databázi"); // připojení k databázi MySQL_Select_DB($databaze) or die("Nepodařilo se otevřít databázi"); // výběr databáze $id = $_GET['text']; //Definování textu ze sms třetí slovo //váš tvar sms je většinou PM NECO a to co je dané za NECO třeba číslo 10000 je ta $id = $_GET['text'] $smss = mysql_query("SELECT * FROM $tabulka WHERE id='{$id}'"); //Vyber z tabulky podle ID zadaného v sms while($sms = mysql_fetch_array($smss)){ //Switch funkce když nekdo posle sms v urcite hodnote switch ($_GET['price']) { case 10.00: // sms ceny 10 CZK ( 903 33 10 ) $cena = '0.10'; // pocet kreditu kolik dostanete $kcena = $sms['kredit'] + $cena; //pricteni kreditu break; //Ukončení case 10.00: (tak je to u všch) case 20.00: $cena = '0.20'; $kcena = $sms['kredit'] + $cena; break; case 30.00: $cena = '0.30'; $kcena = $sms['kredit'] + $cena; break; case 50.00: $cena = '0.50'; $kcena = $sms['kredit'] + $cena; break; case 79.00: $cena = '0.80'; $kcena = $sms['kredit'] + $cena; break; case 99.00: $cena = '1.2'; $kcena = $sms['kredit'] + $cena; break; } } if($_GET['hash'] == 'emulator') die('EMULATOR NENI POVOLEN'); //Zablokování spamování sms přes testovací emulátor else{ //pokud je sms poslaná z mobilu a ne z emulátoru (co ma mobilniplatby.cz) na webu //tak se ptovede tohle $query = mysql_query("UPDATE $tabulka SET kredit = '{$kcena}' WHERE id='{$id}'")or die(mysql_error().' na radku update'); //Zapsání kreditu uživateli echo "Kredit na ID {$id} zvysen na {$kcena}"; //Odpověd poocí SMS } ?> SQL CREATE TABLE `ucty` ( `id` int(11) NOT NULL AUTO_INCREMENT, `jmeno` varchar(255) DEFAULT NULL, `kredit` varchar(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1; INSERT INTO `ucty` VALUES ('1', 'Test', '10.2'); Link to comment Share on other sites More sharing options...
Globální moderátor Hip 191 Odesláno: 8. Červenec, 2012 Globální moderátor Share Odesláno: 8. Červenec, 2012 Využiju dík ... a využiju i tu jenoduchou stránku s SMS platbami Link to comment Share on other sites More sharing options...
Skyrimak 0 Odesláno: 8. Červenec, 2012 Author Share Odesláno: 8. Červenec, 2012 Ono se to hodně lidem hodí jelikož vás to nikdo zadarmo nenapíše a na netu se to ani celé najít nedá Link to comment Share on other sites More sharing options...
Administrátor Ewwe 434 Odesláno: 8. Červenec, 2012 Administrátor Share Odesláno: 8. Červenec, 2012 Takže jde pouze o práci s HTTP VARS... a jejich následný zápis.. Link to comment Share on other sites More sharing options...
Skyrimak 0 Odesláno: 8. Červenec, 2012 Author Share Odesláno: 8. Červenec, 2012 dá se to tak říct Link to comment Share on other sites More sharing options...
Administrátor Ewwe 434 Odesláno: 8. Červenec, 2012 Administrátor Share Odesláno: 8. Červenec, 2012 Jen by mě zajímalo já odešlu sms tu přebere poskytovatel mobilních plateb a jak se ty udaje dostanou do toho scriptu ? To tu sms poskytovatel "přesměruje" na url s tímto scriptem ? Link to comment Share on other sites More sharing options...
Skyrimak 0 Odesláno: 8. Červenec, 2012 Author Share Odesláno: 8. Červenec, 2012 Poskytovatel (operátor) sms přepošle na bránu kam byla poslána třeba PM NECO 10000 na číslo 903 33 99 PM je název společnosti která má smlouvu s operatory takze sms jde rovnou k nim jakmile do dojde do společnosti vezmou její druhe slovo NECO což je nazev brany podle ni tě najdou brana ma nastaveny odkaz na script kam se přepošleš třeti slovo jako $_GET['tex'] tzn číslo 10000 a script to veme jako ID acc a to vyhledá a připíše tam kredity Link to comment Share on other sites More sharing options...
Administrátor Ewwe 434 Odesláno: 8. Červenec, 2012 Administrátor Share Odesláno: 8. Červenec, 2012 jasně o to mi šlo Díky Link to comment Share on other sites More sharing options...
Exitus 1 Odesláno: 8. Červenec, 2012 Share Odesláno: 8. Červenec, 2012 Neviem možno sa mýlim ,ale nemalo by tam byť ošetrenie aby ten GET dotaz (resp. Request) spracovalo iba ak prichádza od IP brány ?... aby sa to nedalo zneužiť.. pre mobilniplatby to je rozsah adresného priestoru 195.47.87.160 - 195.47.87.191 Link to comment Share on other sites More sharing options...
Skyrimak 0 Odesláno: 8. Červenec, 2012 Author Share Odesláno: 8. Červenec, 2012 Zneužít se to nedá je dobré ke scriptu přiložit i .htacces soubor ale i tak každy přistup je zaznamenám a pouze přístup od mobilniplatby to vezme jine pokusi o zaslání se definují jako if($_GET['hash'] == 'emulator') die('EMULATOR NENI POVOLEN'); //Zablokování spamování sms přes testovací emulátor a script je nepropustí Link to comment Share on other sites More sharing options...
theDev 0 Odesláno: 21. Červenec, 2012 Share Odesláno: 21. Červenec, 2012 Skyrimáku, pleteš se. Pokud někdo najde ten script (zjistí jeho název a umístění) pak stačí zadat správný query string a mačkat F5 - tím tvůj script pořád přidává a přidává a pridává (a neni to emulator ) Nicméně stačila by lehká funkce function isInRange($addr, $range_lo, $range_hi) { $range_lo = explode('.', $range_lo); $range_hi = explode('.', $range_hi); $addr = explode('.', $addr); return $addr[3] >= $range_lo[3] && $addr[3] <= $range_hi[3]; } a podmínka někde k začátku if(isInRange($_SERVER['REMOTE_ADDR'], '195.47.87.160', '195.47.87.191')) a je po problému. Dále u tohoto poskytovatele bacha na to, že pokud SMS pošle slovák co na to nemá dostatek kreditů, nebude mu to brát peníze, vám přidávat ale budou se mu přičítat peníze/kredity Link to comment Share on other sites More sharing options...
LuKyN 0 Odesláno: 10. Březen, 2013 Share Odesláno: 10. Březen, 2013 Prosim o cely script . Link to comment Share on other sites More sharing options...
1Kubad1 18 Odesláno: 10. Březen, 2013 Share Odesláno: 10. Březen, 2013 Prosim o cely script . cetl si pravidla tady na topicku bylo i upozorneni takze cau dostanes nejspis varovani nebo neco takeho Link to comment Share on other sites More sharing options...
LuKyN 0 Odesláno: 22. Březen, 2013 Share Odesláno: 22. Březen, 2013 Proc tu neni celej ten script ? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now