Aktywne Wpisy
![assninja](https://wykop.pl/cdn/c0834752/6cae2dbe2c8a8cd0aaee383feef64a00980b4c3c54e886297c54116312485258,q60.jpg)
assninja +410
Oho grubasy znowu coś stękają że im za ciepło xD
Lato to same zalety:
- mniejsze rachunki za ogrzewanie
- dłuższy dzień, dłużej jest jasno
Lato to same zalety:
- mniejsze rachunki za ogrzewanie
- dłuższy dzień, dłużej jest jasno
‼Uwaga Bardzo Pilne Zaginęła Daria Gąsiorek , 16 lat‼
#morag #warminskomazurskie #gdansk #gdynia #sopot #trojmiasto #pomorskie #calapolska
❗️❌Bardzo wszystkich prosimy o maksymalną ilość udostępnień postu , istnieje realne prawdopodobieństwo , że zdrowie lub życie zaginionej może być zagrożone - jak przypuszczają bliscy zaginionej biorąc pod uwagę fakt , że ostatnie połączenie telefoniczne (przez Kamerkę) z Darią zakończyło się tym , że ktoś wyrwał jej telefon z ręki nastolatka może aktualnie być aktualnie przetrzymywana wbrew własnej woli oraz może być odurzana narkotykami❗️❌
⚠️Dari
#morag #warminskomazurskie #gdansk #gdynia #sopot #trojmiasto #pomorskie #calapolska
❗️❌Bardzo wszystkich prosimy o maksymalną ilość udostępnień postu , istnieje realne prawdopodobieństwo , że zdrowie lub życie zaginionej może być zagrożone - jak przypuszczają bliscy zaginionej biorąc pod uwagę fakt , że ostatnie połączenie telefoniczne (przez Kamerkę) z Darią zakończyło się tym , że ktoś wyrwał jej telefon z ręki nastolatka może aktualnie być aktualnie przetrzymywana wbrew własnej woli oraz może być odurzana narkotykami❗️❌
⚠️Dari
![czykoniemnieslysza - ‼Uwaga Bardzo Pilne Zaginęła Daria Gąsiorek , 16 lat‼
#Morag #w...](https://wykop.pl/cdn/c3201142/80ba42bf34126102f79349458ae3c8b3c07798fa0e16a5de502c453ba23f9e6a,w150.jpg)
źródło: temp_file1010640623577712053
Pobierz
O co chodzi?
Mam sobie domenę, którą trzymam na MyDevil i chciałbym kilka subdomen przekierować na swoje Raspberry Pi, które stoi u mnie w domu. Problem: moje IP jest zmienne (zmienia się rzadko, ale jednak). Mógłbym je aktualizować ręcznie przy zmianach... no ale jestem programistą, więc automatyzujemy ;)
Na hostingu postawiłem appkę w #python #flask. Appka ma za zadanie zaktualizować IP przypisane do domeny, kiedy dostanie odpowiednie zapytanie. Jest jeden haczyk: nie chcę, żeby każda losowa osoba z netu mogła mi zaktualizować adres. Potrzeba trochę kryptografii.
Rozwiązanie jest takie: na RPi mam parę kluczy RSA. Klucz publiczny jest skopiowany na hosting i ma do niego dostęp również appka, w której jest przypisany do mojej domeny.
Na RPi stoi zadanie, które co pół godziny wysyła do appki HTTP GET. Appka zwraca losowe 32 bajty zakodowane base64. Zadanie konstruuje wiadomość, złożoną z głównej domeny, subdomen do aktualizacji i tego losowego ciągu, i podpisuje ją kluczem prywatnym. Wiadomość i podpis trafiają do appki przez HTTP POST. Appka weryfikuje podpis kluczem publicznym przypisanym do domeny i jeśli jest ok, aktualizuje DNSy na adres, z którego przychodziły zapytania (oczywiście do weryfikacji używa wygenerowanego wcześniej, zapamiętanego losowego ciągu).
Mała rzecz, a cieszy, aż musiałem się pochwalić (⌐ ͡■ ͜ʖ ͡■)
Jak ktoś ma hosting na MyDevil i chce zrobić coś podobnego, albo przerobić na jakiś inny hosting, albo cokolwiek... to kod appki jest tutaj: https://gitea.ebvalaim.pl/ebvalaim/devil-dyndns (nawiasem mówiąc, to jedna z tych aktualizowanych subdomen :P)
#programowanie
@Philopolemus_Fronius: Po pierwsze, generator liczb losowych nie jest seedowany tylko czasem (mam nadzieję - jak jest, to Crypto.Random jest słabszy, niż bym się spodziewał). Po drugie, to że ktoś inny je wylosuje, to nie problem - problem jest, jeśli appka wylosuje te same dwa razy (to tylko zabezpieczenie przeciwko replayowi podpisów).
return main_domain.encode("utf-8") + domains.encode("utf-8") + challenge
Jak budujesz wiadomość do podpisu, to koniecznie muszą być separatory pomiędzy konkatenowanymi elementami. Inaczej jest ryzyko, że dwie różne wiadomości mogą dać ten sam podpis. Wynika to z faktu, że np. "123"+"456" daje ten sam wynik co "12"+"3456".
Inne małe ryzyko jakie może tutaj być, to jeśli ktoś odkryje Twój endpoint GET-owy, to może się wyzłośliwiać i ciągle do niego uderzać, powodując wygenerowanie nowego challenge'a, uniemożliwiając Ci zaktualizowanie danych domeny. Myślę, że ten endpoint powinien wymagać uwierzytelnienia (nie widzę w
Fakt, ma
@fizyk20: a nie mogłeś po prostu zrobić zwykłego klucza autoryzacyjnego w nagłówku HTTP (np.
X-Auth
, albo nawet zwykłeAuthorization: bearer XXX
, albo najzwyklejsze login+pass) i użyć HTTPS? (A HTTPS w sumie już używam - nawet nie pomyślałem, że to załatwia już większość problemów, które rozwiązywałem niezależnie :P