Zadejte hledaný výraz...

PHP knihovna na mBank – příchozí platby

Michal Zima
verified
rating uzivatele
(6 hodnocení)
21. 5. 2009 20:38:51
Na základě velké poptávky zde vystavuji nabídku své PHP knihovny, která z daného mBank účtu vyexportuje všechny příchozí platby za dané období.
Jak to funguje
Skript napodobuje chování prohlížeče při návštěvě ebankingu a provádí všechny kroky stejně jako běžný uživatel. Přihlásí se, vybere účet, zvolí období transakční historie a zparsuje všechny údaje do vícerozměrného asociativního pole, kde první rozměr tvoří prosté číselné indexy (kde 0 je nejnovější platba) a druhý rozměr jsou jednotlivé údaje o platbě (účet odesílatele, data přijetí, symboly, částka). Toto pole je vráceno a další zpracování dat už je poměrně jednoduché.
Struktura knihovny
Knihovna je tvořena jednou PHP třídou, kterou jsem psal tak, aby byla maximálně přehledná a upravitelná (jednotlivé dílčí kroky jsou rozděleny do samostatných metod a kód se zbytečně neopakuje).
Pro přihlašovací údaje jsem zvolil base64 kódování, aby se nemusely v kódu vyskytovat v čistém textu. Pro běh je možné navolit soubor pro cookies a identifikaci prohlížeče. Samozřejmě se dá navolit i jiný než defaultní (1 den) rozsah transakční historie – stejně jako v ebankingu.
Technické požadavky
Knihovna potřebuje PHP 5 s modulem CURL.
Podmínky pro používání
Koupí knihovny získáte právo na její používání pro vlastní potřebu – tedy bez dalšího šíření/prodeje (je možné se dohodnout na individuálních podmínkách, např. v případě pronájmu e-shopů apod.). Upravovat si ji můžete v libovolném rozsahu bez omezení.
Cena a další podmínky
Cena za knihovnu je 1.000 Kč jednorázově za licenci (nejsem plátce DPH). Faktura je samozřejmostí – stačí zaslat fakturační údaje.
Součástí jsou bezplatné aktualizace/nové verze knihovny, které budu automaticky rozesílat všem. V ceně je také lepší přizpůsobení pro vaše individuální potřeby.
Objednávky PM, platba předem na mBank účet (do poznámky napište svůj nick zde na WH), předání e-mailem.
Ostatní
Případné dotazy můžete psát přímo sem.
21. 5. 2009 20:38:51
https://webtrh.cz/diskuse/php-knihovna-na-mbank-prichozi-platby/#reply307544
Saphi
verified
rating uzivatele
(47 hodnocení)
3. 7. 2009 12:59:27
Smím se jen zeptat, k čemu je to dobré?
3. 7. 2009 12:59:27
https://webtrh.cz/diskuse/php-knihovna-na-mbank-prichozi-platby/#reply307543
Michal Zima
verified
rating uzivatele
(6 hodnocení)
3. 7. 2009 14:21:40
Napsal Saphi;315492
Smím se jen zeptat, k čemu je to dobré?
K párování plateb došlých na účet vedený u mBank. Pro podnikatele jsou jejich účty celkem výhodné, ale mBank nemá žádné standardní rozhraní pro napojení účetních systémů, e-shopů apod. Implementace této knihovny je velmi snadná a zajišťuje vše potřebné. Navíc licence zahrnuje i aktualizace – čtyři (vč. jedné velké kvůli upgradu bankovnictví 14. června) jsem již odesílal; a ti, co si knihovnu pořídili, s ní jsou (podle ohlasů) spokojení. :)
3. 7. 2009 14:21:40
https://webtrh.cz/diskuse/php-knihovna-na-mbank-prichozi-platby/#reply307542
Jiri Hysek
verified
rating uzivatele
(13 hodnocení)
3. 7. 2009 16:25:16
Neresil jsi nejak bezpecne umisteni hesla k IB mimo skript? Ja si tohle chtel vyrobit taky, ale premyslim, jak osetrit hypotetickou situaci, kdy nekdo neopravnene ziska ten skript, resp. pristup k serveru, kde bezi. Napadlo me nekolik vice i mene bezpecnych reseni, ale porad to neni ono... hlavne mam docela problem to heslo ve skriptu nebo v konfiguraku jen tak volne nechat (byt v base64, coz je z pohledu bezpecnosti totez co plaintext).
3. 7. 2009 16:25:16
https://webtrh.cz/diskuse/php-knihovna-na-mbank-prichozi-platby/#reply307541
dracek
verified
rating uzivatele
(26 hodnocení)
3. 7. 2009 16:33:19
tento script budu potřebovat taky a též by mě zajímalo nějaké lepší zabezpečení.
3. 7. 2009 16:33:19
https://webtrh.cz/diskuse/php-knihovna-na-mbank-prichozi-platby/#reply307540
Michal Zima
verified
rating uzivatele
(6 hodnocení)
3. 7. 2009 16:42:33
Napsal Jiří Hýsek;315632
Neresil jsi nejak bezpecne umisteni hesla k IB mimo skript? Ja si tohle chtel vyrobit taky, ale premyslim, jak osetrit hypotetickou situaci, kdy nekdo neopravnene ziska ten skript, resp. pristup k serveru, kde bezi. Napadlo me nekolik vice i mene bezpecnych reseni, ale porad to neni ono... hlavne mam docela problem to heslo ve skriptu nebo v konfiguraku jen tak volne nechat (byt v base64, coz je z pohledu bezpecnosti totez co plaintext).
Tahle otázka není jednoduchá a je to docela podobné s heslem k databázi (u banky člověk může jenom prohlížet – maximálně odesílat peníze po šablonách bez SMS, kdežto u databáze pak může všechno). Zkrátka skript musí nějak to heslo získat a umět ho případně dekódovat, aby šlo použít. A kam má přístup skript, tam i případný útočník, který se na server dostane.
Jedině mě teď napadá použít zakódování celé knihovny, vč. přihlašovacích údajů (podobně jako se komprimují JS knihovny, tak jsem narazil na obdobu v PHP), příp. kód předkompilovat. Zádrhel je v tom, že to značně znároční jak implementaci, tak aktualizace knihovny. Při současném řešení stačí soubor s knihovnou nahradit. Base64 je pouze primitivní ochrana, aby si to heslo někdo nemohl přímo přečíst, pokud se mu naskytne pohled do kódu. Pro útočníka to samozřejmě není žádná překážka, takže je potřeba především zabezpečit přístupy (FTP) a web jako takový, aby zdrojové kódy nebylo možné získat.
3. 7. 2009 16:42:33
https://webtrh.cz/diskuse/php-knihovna-na-mbank-prichozi-platby/#reply307539
Jiri Hysek
verified
rating uzivatele
(13 hodnocení)
3. 7. 2009 19:01:48
Napsal xHire;315652
Tahle otázka není jednoduchá a je to docela podobné s heslem k databázi (u banky člověk může jenom prohlížet – maximálně odesílat peníze po šablonách bez SMS, kdežto u databáze pak může všechno). Zkrátka skript musí nějak to heslo získat a umět ho případně dekódovat, aby šlo použít. A kam má přístup skript, tam i případný útočník, který se na server dostane.
Jedině mě teď napadá použít zakódování celé knihovny, vč. přihlašovacích údajů (podobně jako se komprimují JS knihovny, tak jsem narazil na obdobu v PHP), příp. kód předkompilovat. Zádrhel je v tom, že to značně znároční jak implementaci, tak aktualizace knihovny. Při současném řešení stačí soubor s knihovnou nahradit. Base64 je pouze primitivní ochrana, aby si to heslo někdo nemohl přímo přečíst, pokud se mu naskytne pohled do kódu. Pro útočníka to samozřejmě není žádná překážka, takže je potřeba především zabezpečit přístupy (FTP) a web jako takový, aby zdrojové kódy nebylo možné získat.
No je fakt, ze i kdyz se utocnik do IB dostane, tak bez sms by nemel mit moznost nic moc udelat. Ale zas to nemam prolezly cely, nevim, jestli jsou veskere operace a nastaveni v IB chraneny sms, jestli to tam nahodou nejde nastavit, pripadne udaju z IB vyuzit k presvedceni cloveka z banky na zmenu cisla telefonu, hesla k IB...
Ono je samozrejme reseni dokonale zabezpecit pristup neopravnene osoby k tomu skriptu, ale... Asi jsem moc paranoidni :) Kdyby k beznemu zabezpecni se ten ucet pouzival specialne jen pro ten jeden ucel (napr. prijem penez z eshopu) a pravidelne se vyprazdnoval jinam, tak i v pripade nejhorsiho scenare, kdy se sejde nekolik nepravdepodobnych okolnosti, clovek zadne velke ztraty stejne mit nebude.
3. 7. 2009 19:01:48
https://webtrh.cz/diskuse/php-knihovna-na-mbank-prichozi-platby/#reply307538
Michal Zima
verified
rating uzivatele
(6 hodnocení)
3. 7. 2009 19:46:09
Napsal Jiří Hýsek;315719
No je fakt, ze i kdyz se utocnik do IB dostane, tak bez sms by nemel mit moznost nic moc udelat. Ale zas to nemam prolezly cely, nevim, jestli jsou veskere operace a nastaveni v IB chraneny sms, jestli to tam nahodou nejde nastavit, pripadne udaju z IB vyuzit k presvedceni cloveka z banky na zmenu cisla telefonu, hesla k IB...
SMSkou je chráněné úplně všechno možné, a to i to, co by k žádné finanční újmě nevedlo, např. smazání předdefinovaného příjemce. Změna čísla telefonu by musela být autorizovaná, k čemuž údaje z IB nestačí. Ono, ani mně by nebylo příjemné, kdyby mi cizí osoba lezla po IB a čmuchala všechno možné…
Každopádně je ale možné stejnou otázku položit samotné mBance. :) Myslím, že ta nám nejlépe může naše obavy potvrdit či vyvrátit.
3. 7. 2009 19:46:09
https://webtrh.cz/diskuse/php-knihovna-na-mbank-prichozi-platby/#reply307537
Petr
verified
rating uzivatele
(132 hodnocení)
3. 7. 2009 20:19:21
Xhire pár screenů pro představu by mi udělalo lepší obrázek,
3. 7. 2009 20:19:21
https://webtrh.cz/diskuse/php-knihovna-na-mbank-prichozi-platby/#reply307536
Michal Zima
verified
rating uzivatele
(6 hodnocení)
3. 7. 2009 21:12:25
Napsal back1;315743
Xhire pár screenů pro představu by mi udělalo lepší obrázek,
Screenů čeho? :) Je to knihovna – pouze hromádka kódu, jejímž výstupem je vícerozměrné pole – první index je standardní, číselný, bez hlubšího významu (čistě funkční charakter v rámci struktury tohoto datového typu), indexem v druhém rozměru je název parametru dané platby (např. odesílací účet, variabilní symbol atd. – jsou obsaženy tuším veškeré údaje, které lze z IB vyčíst). Opravdu není čeho dělat screenshot. ;)
3. 7. 2009 21:12:25
https://webtrh.cz/diskuse/php-knihovna-na-mbank-prichozi-platby/#reply307535
crs
verified
rating uzivatele
(1 hodnocení)
2. 9. 2009 21:38:10
Existuje k tomu alespoň popis funkcí (hlavičky metod + co dělají)?
2. 9. 2009 21:38:10
https://webtrh.cz/diskuse/php-knihovna-na-mbank-prichozi-platby/#reply307534
Michal Zima
verified
rating uzivatele
(6 hodnocení)
3. 9. 2009 08:14:19
Napsal crs;353869
Existuje k tomu alespoň popis funkcí (hlavičky metod + co dělají)?
Metod je relativně málo (15 i s konstruktorem) a jsou myslím celkem dobře pojmenované, takže není potřeba jejich další popis (např. 'get_payments' ;)). Součástí knihovny je i návod k použití a ukázkový výstup.
Pokud by šlo jen o výpis hlaviček, tak na to stačí jeden grep. :)
3. 9. 2009 08:14:19
https://webtrh.cz/diskuse/php-knihovna-na-mbank-prichozi-platby/#reply307533
Pro odpověď se přihlašte.
Přihlásit