Skip to Content

programiranje

NotBanking za Erste NetBanking

Erste banka ima prilično dobar online banking softwer. Dozvoljava mi da uradim sve što i drugi sistemi, može da se koristi iz bilo kojeg browsera (zbogom bagoviti Internet Exploreru i disku sa sertifikatom); prilično sam zadovoljan.

Ali, ima jedna osobina koja me prilično nervira: nakon otvaranje e-bankinga dobije se jedno plastificirano parče papira na kome se nalazi 8x4 tabela sa gomilom brojeva. I nakon što se ulogujete, softver od vas traži da unesete broj taj i taj, pa vam tek onda dozvoljava pristup vašem novcu.

Razumem, moralo se nekako zaštiti, ljudi moraju da osećaju pouzdanost u e-bankingu, ali svaki put kada želim nešto da uradim moram da ustanem do jakne, izvadim novčanik, aha! 3. red kolona B, tu smo, tapa-tapa, 43254532, uh. Smaranje.

Ako istu stvar uradim više od tri puta, onda ću sesti i automatizovati je, uvek se isplati na duže ili kraće staze.

I evo, izvolite Greasemonkey skriptu koja će sama da unosi brojke, a vi ćete sasvim srećno i zadovoljno da raspolažete vašim novcima uz što manje kuckanja.

Klik ovde za instaliranje skripte

Samo par napomena:

  • Pre nego što počnete da koristite skriptu, moraćete je editovati i uneti na vrhu skrpte vašu TAN tablicu. Videćete redove tan_red1 do tan_red8 i tu unutar navodnika unesite vaše brojeve. Editujete skriptu tako što uradite desni klk na tog majmuna u status baru, izaberete NotBanking pa kliknete na edit.
  • Biće vam potreban Firefox browser. Uostalom, ukoliko već ne koristite Firefox, ne znate šta propuštate.
  • Korisničko ime i lozinka se neće automatski unositi. Ukoliko želite baš toliku automatizaciju, ukombinujte ovu skriptu sa AutoFormer (ne radi u FF 3.6) ili Autofill Forms ekstenzijom.

VAŽNO:

Uopšte ne preuzimam odgovornost za ovaj softver. Vaš novac je vaša odgovornost i mada ne postoji nikakva šansa da vam skripta nešto loše uradi, ukoliko vam neko ukrade ili kompromituje računar može doći u posed vaše TAN tablice, što može predstavljati problem.

Savetujem potpunu enkripciju hard diska, kao što sam ja uradio na svom laptopu za slučaj da "dobije noge".

Obavezno promenite lozinku koju dobijete od Erste banke, moja je bila šuplja kao sir (nešto tipa "nikola123"). Nažalost, korisničko ime ne može da se menja, ali je prilično dobro smišljeno tako da je to u redu.

Pamet u glavu, lovu na račun.

 

Git repozitorije preko SSH protokola

Ukoliko imate Git repozitoriju na kojoj radi više programera, mora se voditi računa o dozvolama fajlova. Najjednostavnije je dodati sve korisnike u posebnu grupu (recimo, developers), zatim otići do repozitorije i podesiti je da bude deljena:

cd code.git

chmod -R g+ws *
chgrp -R developers *

git repo-config core.sharedRepository true

U suprotnom će se javljati sledeća greška prilikom git push:

error: insufficient permission for adding an object to repository database ./objects
fatal: failed to write object

Instaliranje PHP-GTK na Ubuntu 9.04

PHP-GTK je ekstenzija za PHP programski jezik koja implementira GTK toolkit. Ukratko, služi da u PHP-u pravimo samostalne grafičke aplikacije.

Ovde je opisana instalacije PHP-GTK 2.0.1 na Ubuntu 9.04 operativni sistem. Paket se ne nalazi u repozitoriji koja bi omogućila brzo i jednostavno instaliranje, već se mora kompajlirati iz izvornog koda.

Prvo instalirajte sve pakete potrebne za kompajliranje:

sudo apt-get install m4 gawk build-essential

PHP-GTK se može skinuti ovde, zatim raspakujte skinutu arhivu:

tar xzf php-gtk-2.0.1.tar.gz

PHP paket trenutno ima bag, te se pre kompajliranja mora napraviti ovaj trik:

cd /usr/share/aclocal
cp libtool.m4 libtool-orig.m4
cat lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4 >> libtool.m4

Dalje ste spremni za kompajliranje po uputstvu sa PHP-GTK sajta. Ukratko:

./buildconf
./configure
make
sudo make install

I ne zaboravite da dodate sledeću liniju u /etc/php5/cli/php.ini:

extension=php_gtk2.so

To je to.

Boja GTK widget-a

Kratki hint, ukoliko želite postaviti boju GTK widgeta direktno iz koda (a ne preko resurs fajla), ovo je način da se to uradi:

GdkColor boja;
gdk_color_parse("#F3F3F3", &boja);
gtk_widget_modify_bg (my_widget, GTK_STATE_NORMAL, &boja);

Funkcija gdk_color_parse kao prvi parametar prihvata opis boje, i kao što vidite, moguće je boju postaviti i u HTML formatu.

Ukoliko želite da postavite boju GtkLabel widgeta, na primer, najbolje je da ga stavite u GtkEventBox, pa onda njemu menjate boju.

Jedinstveni matični broj građanina

JMBG je broj koji je dat svim građanima SFRJ, uveden je 1976. godine, a ostao je u upotrebi u svim državama koje su nastale raspadom SFRJ.

Ukoliko treba da radite sa JMBG brojem, ove informacije će vam pomoći.

Broj je napravljen od 13 cifara u formi „DD MM GGG RR BBB K“ (bez belih mesta), gde su:

DD – dan rođenja

MM – mesec rođenja

GGG – zadnje tri cifre godine rođenja

RR – politički region rođenja (za građane rođene pre 1976. godine politički region gde su trenutno živeli)

* 00-09 – stranci koji su dobili SFRJ državljanstvo
* 10-19 – Bosna i Hercegovina (10 - Banja Luka, 17 - Sarajevo)
* 20-29 – Crna Gora
* 30-39 – Hrvatska (33 - Zagreb)
* 40-49 – Makedonija (45 - Skoplje)
* 50-59 – Slovenija ( 50 - Ljubljana )
* 60-69 – (Neupotrebljeno iz nepoznatog razloga)
* 70-79 – Uža Srbija (71 - Beograd)
* 80-89 – Autonomna Pokrajina Vojvodina (80 - Novi Sad)
* 90-99 – Autonomna Pokrajina Kosovo i Metohija

BBB – jedinstveni broj

* 000-499 – muški
* 500-999 – ženski

Što se tiče K, kontrolnog broja, važi sledeće pravilo:

Ako je JMBG napisan u formatu ABCDEFGHIJKLM onda je:

M = 11 - ( 7*(A+G) + 6*(B+H) + 5*(C+I) + 4*(D+J) + 3*(E+K) + 2*(F+L) ) / 11

Tj. sabrati 1. i 7., 2. i 8., 3. i 9., 4. i 10., 5. i 11., te 6. i 12. broj matičnog broja. Dobijenih 6 suma pomnožiti sa 7, 6, 5, 4, 3 odn. 2 i sabrati dobijene umnožke. Taj broj podeliti sa 11 i ostatak tog deljenja oduzeti od 11.

Evo i jedne PHP funkcije koja radi upravo to, proverava kontrolnu cifru:

function proveri_jmbg($jmbg) {
// jmbg je uvek broj
if (!is_numeric($jmbg)) return false;
// dugacak je 13 brojeva
if (strlen($jmbg) != 13) return false;
$b1 = (int)$jmbg[0];
$b2 = (int)$jmbg[1];
$b3 = (int)$jmbg[2];
$b4 = (int)$jmbg[3];
$b5 = (int)$jmbg[4];
$b6 = (int)$jmbg[5];
$b7 = (int)$jmbg[6];
$b8 = (int)$jmbg[7];
$b9 = (int)$jmbg[8];
$b10 = (int)$jmbg[9];
$b11 = (int)$jmbg[10];
$b12 = (int)$jmbg[11];
$b13 = (int)$jmbg[12];
$orig = 7*($b1+$b7) + 6*($b2+$b8) + 5*($b3+$b9) + 4*($b4+$b10) + 3*($b5+$b11) + 2*($b6+$b12);
$control = 11 - ( $orig - (11*floor($orig / 11)));
if ($control != $b13) return false;
return true;
}

Kako naučiti PHP

A još na sprskom jeziku?

Rešenje nam je dala programerska firma AlefBrain u vidu kompletne dokumentacije za učenje PHP programerskog jezika. Evo šta kažu zašto i kako:

"Posle dva PHP treninga odrzana uzivo u Kragujevcu, odlucili smo da kompletan materijal sa tih dogadjaja postavimo na web kako bi smo Internet programiranje priblizili sto vecem broju ljudi. Slobodno download-ujte lekcije u PDF formatu, delite ih sa svojim prijateljima i ucite zajedno. Kada postanete Internet programeri, javite se, mozda imamo posao za vas."

Syndicate content