Jedno wejście, cokolwiek łączysz.
Baza danych, którą prowadzisz, plik, który wrzucasz, mały skrypt na własnym serwerze. Wszystkie są wpisami w tej samej tabeli, wszystkie rejestruje się tak samo, a dodanie nowego rodzaju to wpis, a nie nowy ekran.
Z czym możesz się połączyć już dziś
Dwa kształty i plik
Baza danych, bezpośrednio
PostgreSQL, MySQL albo MongoDB. Host, port, baza, użytkownik, hasło, TLS domyślnie włączony. Tylko do odczytu — nic, co robi dash-b, nie może zapisywać w twoich danych produkcyjnych.
Łącznik na twoim własnym serwerze
Jeden plik PHP, który wgrywasz obok bazy. dash-b otrzymuje adres i sekret podpisujący, i nic więcej: bez hosta, bez nazwy użytkownika, bez hasła. To jedyne źródło, które może zapisywać, i właśnie dlatego.
Plik
Upuść arkusz kalkulacyjny albo plik CSV na tablicę, a stanie się prawdziwą tabelą, z kolumnami odczytanymi z pliku, a nie odgadniętymi przez ciebie. Bez rejestracji, bez poświadczeń, bez niczego do skonfigurowania.
Co dzieje się z hasłem
Sekret nigdy nie jest ci pokazywany ponownie
Gdy poświadczenie zostanie zapisane, formularz, który je zapisał, nie może go ponownie wyświetlić. To nie jest ustawienie — to osobny fragment kodu, inny niż ten, który wypełnia formularze zapisanymi wartościami, celowo utrzymany osobno, żeby „pokaż zapisaną wartość” nie było jednym przełącznikiem od wpisania hasła do bazy danych w stronę, którą można zrzucić ekranem, udostępnić przez udostępnianie ekranu albo odczytać z DOM.
Łącznik istnieje po to, żeby najsilniejszy sekret, jaki masz, nigdy nie opuścił twojego własnego serwera.
Poświadczenia twojej bazy pozostają w pliku konfiguracyjnym na maszynie, która już je miała. dash-b przechowuje adres i podpis, a żadne z nich nie otwiera twojej bazy nikomu innemu.
Logowanie do czegoś innego
Dlaczego nie ma tu pola logowania
Łączenie konta — w odróżnieniu od bazy danych — oznacza własną stronę logowania dostawcy, w osobnym oknie, oraz pośrednika, który przechowuje sekret aplikacji, tak żeby dash-b nigdy go nie posiadał i nigdy nie widział twojego hasła.
Nie dzieje się to wewnątrz strony i to nie jest kwestia preferencji. Google i Facebook oba odmawiają osadzania w ramce, celowo: formularz logowania wyświetlony w cudzym dokumencie jest nieodróżnialny od strony phishingowej, a zbudowanie takiego oznaczałoby wysłanie pustego prostokąta.
Katalog jest pod nie zbudowany, a mechanizm jest na miejscu; same połączenia nie są jeszcze otwarte, więc projektant nie zaoferuje ci przycisku, który zawiedzie po tym, jak go wybierzesz. Gdy się otworzą, pojawią się jako wpisy w tej samej tabeli co wszystko powyżej.
Dwie rzeczy przypięte na próbę
Testy, którym nie wolno się cofnąć
- Żaden sekret nie jest wyświetlany z powrotem. Test wstawia znacznik do każdego pola każdego dostawcy, a następnie szuka go na wyrenderowanej stronie.
- Odpowiedź logowania jest uznawana tylko wtedy, gdy wszystko się w niej zgadza — skąd przyszła, jej kształt, jednorazowa wartość, którą musi nieść, i jej wiek — i wszystko to jest weryfikowane, zanim odczyta się choć jedno jej pole. W danym momencie trwa dokładnie jedno logowanie, więc na stare nie może odpowiedzieć późniejsza wiadomość.
Oba istnieją, bo awaria, której zapobiegają, jest cicha: pierwszy przeciekałby hasłem na zrzucie ekranu, a drugi pozwoliłby, by link połączył czyjeś konto z twoim.
Połączenie to dopiero połowa sukcesu.
Kafelek może czytać to, co podłączysz. Z łącznikiem kafelek może też w nim zapisywać — przycisk na tablicy, który dodaje wiersz do twojej własnej bazy danych.