![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 5.04.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Mam sobie PC na którym w Excelu ktoś wypełnia arkusz po czym klikając jeden przycisk makro waliduje dane i wysyła w postaci JSON do skryptu PHP.
Jaki byłby najmądrzejszy sposób na autoryzację takiej wysyłki, tak by mieć pewność że dane trafiły do skryptu z prawidłowego komputera i pliku? Chciałbym zabezpieczyć się przed tym, że wspomniany plik Excela przez pomyłkę zostanie uruchomiony na innym komputerze. W tej chwili autoryzację opieram na psk zaszytym w vba, wraz z tym że wysyłając dene dodawana jest nazwa komputera z którego idzie wysyłka. Zarówno nazwa i PSK służą do "autoryzacji" po stronie PHP, a sam skrypt VBA jest "zabezpieczony" hasłem na projekt, by nie dało się łatwo psk wyciągnąć. Na pewno dałoby się lepiej - jakieś pomysły? (IMG:style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 240 Pomógł: 278 Dołączył: 11.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zabezpieczenie na IP od strony serwera?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 26 Dołączył: 13.09.2007 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Cytat Chciałbym zabezpieczyć się przed tym, że wspomniany plik Excela przez pomyłkę zostanie uruchomiony na innym komputerze. Przez pomyłkę raczej nikt nie złamie hasła do projektu, nie wejdzie w kod VBA i nie podejrzy danych autoryzacyjnych, by później uruchomić ten plik pomyłkowo na innym komputerze. Napisz najlepiej w jakim środowisku to działa, jak dystrybuujesz i przed czym realnie chcesz się uchronić. Tworzenie historii, która ma uprościć i wyjaśnić rozwiązanie, tylko je gmatwa. Moim zdaniem od strony makra wystarcza w zupełności taki sposób, gdyż tak się zawsze łączysz z REST API. Możesz użyć specjalego klucza, który będzie kodował przy pomocy unikalnej soli dane komputera, które są Ci znane i możesz je pobrać z makra i sprawdzać, czy klucz się zgadza. Nawet jak ktoś przeniesie makro na inną maszynę, to wykryje to niezgodność klucza. Można też przez basic authentication. Możesz też prosić o login i hasło w samym makrze i zastosować ciasteczka robiąc normalne logowanie jakby to była przeglądarka i dopiero wtedy uruchamiać główne makro, które coś robi. Ten post edytował sabat24 2.01.2019, 17:09:44 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 5.04.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Doceniam wnikliwość ale model „ataku” jest dokładnie taki jak opisałem. Dzięki za odpowiedź, zgodnie z Twoją radą dodam do danych autoryzacyjnych oprócz nazwy komputera jeszcze kilka innych danych, posolę i zahaszuję.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 17:15 |