co jakiÅ› czas pojawia mi siÄ™ potrzeba użycia “tajnego" hasÅ‚a w programie który ma dziaÅ‚ać w miarÄ™ automatycznie.
przez “w miarÄ™" rozumiem, że mam kontrolÄ™ nad tym kiedy i jak go uruchamiam.
ostatnio pojawił mi się ten problem gdy chciałem napisać program który wykrywa zmiany na moim koncie w banku (mbank). wolałem (z oczywistych przyczyn) nie:
- wpisywać konta i hasła do kodu programu
- wpisywać konta i hasła do pliku konfiguracyjnego
- podawać tych danych jako zmienne środowiskowe
- podawać tych danych jako parametry wykonania
z drugiej strony – soft miaÅ‚ dziaÅ‚ać bez mojej dalszej ingerencji.
na początku chciałem by to był cron. ale z zastrzeżeniami z punktów powyżej chyba nie da się crona napisać.
wiÄ™c stwierdziÅ‚em – nie może być cron? ok. niech bÄ™dzie daemon.
co więc można zrobić?
program pyta się użytkownika przy uruchomieniu o dane (konto/ hasło). potem się loguje na stronę mbanku. jeśli proces logowania sie nie uda, trudno , program wypisuje błąd, i się kończy.
jeÅ›li jednak siÄ™ uda, to program kasuje z pamiÄ™ci zawartość numeru konta i hasÅ‚a, po czym przechodzi w tÅ‚o i cyklicznie odpytuje mbank o saldo – korzystajÄ…c z cookie.
oczywiÅ›cie nadal istnieje ryzyko, że ktoÅ› “ukradnie" mi cookie, ale ponieważ cookie sÄ… przechowywane w pamiÄ™ci to jest to dosyć trudne.
pewnym utrudnieniem jest fakt, iż polegamy na cookie, gdyż cookie ma dosyć krótką żywotność. co oznacza, iż muszę cyklicznie co minutę odświeżać dane. testowanie konta co 5 minut wymagałoby już trzymania w pamięci hasła i numeru konta, co staje się potencjalnie niebezpieczne.
soft oczywiście nie jest idealny, ale może komuś z was się do czegoś przyda.
a może wskażecie mi błędy w moim rozumowaniu 🙂