23.08.2026 09:53

Prywatny album jest teraz naprawdę prywatny

⏱️ 3 min read
Share:

Trzy rodzaje plików na Moonlight miały wspólną wadę, o której warto powiedzieć wprost, bo dotyczyła rzeczy, które ludzie nam powierzają: zdjęć, muzyki i płatnych rozdziałów.

Ich adresy dawały się przewidzieć. Nie były nigdzie pokazywane, ale układały się z numerów — numer komiksu, numer rozdziału, numer strony — więc ktoś, kto chciałby zgadywać, mógł docierać do plików, których nie powinien zobaczyć.

To już nie działa. Każdy taki plik przechodzi teraz przez sprawdzenie uprawnień, dokładnie to samo, przez które przechodzi czytnik na stronie.

Co to znaczy w praktyce

Prywatny album jest prywatny. Otwiera się wyłącznie jego właścicielowi. Album publiczny zostaje publiczny — dla oglądającego nic się nie zmienia.

Utworu, którego autor nie udostępnił, nie da się pobrać obok odtwarzacza. Kontrola przy odtwarzaniu istniała od dawna i była dobra; problemem było obejście — istniał drugi adres, który wydawał plik z pominięciem tamtej kontroli.

Za płatny rozdział znowu trzeba zapłacić. Wcześniej dało się go przeczytać, omijając całą ścieżkę zakupu.

Czytelnik nie zobaczy żadnej różnicy. Strony i zdjęcia ładują się tak samo, a przewijanie utworu działa jak działało.

Trzy bramki, jedna hydraulika

Przy pisaniu trzech osobnych zabezpieczeń łatwo o rozjazd: jedno dostaje poprawkę, dwa pozostałe zostają ze starym błędem. Wspólna część trafiła więc do jednego miejsca, więc każda poprawka ląduje wszędzie naraz.

Przy okazji adres zdjęcia powstawał dotąd w trzech miejscach, każde z własną kopią logiki dla trzech układów katalogów narosłych przez lata. Teraz jedno miejsce liczy ścieżkę i jedno wydaje adres.

Włączyliśmy też przyspieszenie wysyłania plików: serwer podaje je sam, a aplikacja odpowiada wyłącznie za decyzję o dostępie.

Rzecz, która wyszła po drodze

Miniatury stron komiksu mieszkały w tym samym katalogu co okładki rozdziałów — a okładki mają być publiczne i muszą działać dla każdego. Blokada zgasiłaby je razem ze stronami.

Rozważaliśmy odróżnianie ich po nazwie pliku i odrzuciliśmy ten pomysł: część stron zapisuje się pod losową nazwą, więc taki filtr przepuszczałby je po cichu — czyli zostawiałby dokładnie tę dziurę, którą zamykamy. Okładki dostały własny katalog, a test pilnuje, żeby nie wróciły tam, gdzie blokada by je zgasiła.

📚 Related posts

27.08.2026 20:55

Data, której nie cofniemy nawet my

Każdy certyfikat autorstwa dostaje datę zapisaną w blockchainie Bitcoina — takiej nie podważy nikt, my też nie. Sprawdzisz ją bez konta i bez Moonligh...
Continue reading →
27.08.2026 19:35

Twój kolor, wszędzie

Trzy tryby i siedem akcentów, wspólnych dla strony i Moonlight Animate. Motyw jedzie z kontem, profil pokazuje gościom Twoje kolory, a harmonogram sam...
Continue reading →
27.08.2026 18:31

Kto moderuje i na jakiej podstawie

Moderator to teraz osobna rola z własnym zakresem, a nie administrator w przebraniu. Odrzucenie treści wymaga powodu, który trafia do autora razem z d...
Continue reading →

📧 Stay up to date!

Join the waitlist to get notified about new Dev Blog posts and Moonlight platform launch.