Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Strona pobierająca brakujace pliki
Tsiru
post
Post #1





Grupa: Zarejestrowani
Postów: 213
Pomógł: 0
Dołączył: 7.01.2005
Skąd: Nigdzie

Ostrzeżenie: (0%)
-----


Wpadłem na pomysł napisania strony, która pobiera sobie sama brakujace pliki (np. po awarii serwera). Każdy plik przed pobraniem miałbybyć sprawdzany według 3 kryteriów (z czego 2 pierwsze można było by pominąć): rozmiaru, hashu i nazwy.
pliki nają mieć mniej-więcej taką strukture:
Kod
index.php         // klasa odpowiedzialna mi. za obslugę błędów, i ściąganie brakujących plików
katalog_sys       // glowny katalog zawierający wszystkie pliki, nazwa zdefiniowana w stałej "rd"
  |- kernel.php   // klasa obslugujaca cala reszte, tu mialy by byc sprawdzane wszystkie* pliki
  |- mods         // moduly
  |- conf         // konfiguracja, tu niebyło by dostepu
  |- log          // i do logowania tez
  |- temp         // pliki tymczasowe
  |- classes      // pliki tymczasowe
  |- old          // stare pliki, które zostały zastąpione
i jeszcze kilka innych

*Sprawdzanie oraz udostepnianie plików odbywalo by sie na 3 poziomach, dzięki czemu pliki konfiguracyjne i inne poufne dane, były by bezpieczne:
    sprawdzane jest wszystko
    sprawdzane są tylko konkretne rozszeżenia
    katalog jest pomijany
Jesli czas edycji/utworzenia pliku zostałby zmieniony, sprawdzana jest jego suma kontrolna. Jeśli suma kontrolna pasuje, to daty w bazie są poprawiane, w przeciwnym wypadku plik zostaje przeniesiony do katalog_sys/old. Każdy plik byłby z tamtąd wywalany, np po 10 dniach.
Problem mógłby się pojawić właśnie przy ściąganiu plików. Założenie jest takie, że plik kernel.php
miałby być pobierany tylko z jednego, pewnego źródła, co by miało ułatwić wypuszczanie nowych wersji, gdyż instalator składał by się z jednego pliku index.php, a reszta pobierana byłaby ze stron, na których ów skrypt się znajduje (ty myślałem zrobić coś w stylu oceny stron, żeby sprawdzało te z lepszym transferem i umieszczało je na początku listy). Główny serwer zawierał by liste takich stron.
Takie rozwiązanie miało by kilka zalet:
    strona była by odporniejsza na uszkodzenia plików
    banalna instalacja - nie ściągane były by wszystkie pliki, ale tylko te potrzebne w danej chwili
    łatwosc robienia upgrage'u i instalowania dodatkowych modułów
ale i wad też:
    spowolnienie dzialania a nawet zatrzymanie skryptu przy pobieraniu wiekszej ilosci plikow (patrz:instalacja)
    ryzyko zhackowania (ale jeśli skrypt będzie rozpowszechniany za darmo, to kazdy i tak moze sobie sciagnac źródło)
Co sądzicie o takim pomyśle ?

Ten post edytował Tsiru 24.06.2006, 13:35:16
Go to the top of the page
+Quote Post
Vengeance
post
Post #2





Grupa: Zarejestrowani
Postów: 657
Pomógł: 2
Dołączył: 15.08.2003
Skąd: Łódź

Ostrzeżenie: (0%)
-----


A zdażają Ci się takie awarie by było to konieczne? Mnie chyba jeszcze nigdy nagle nie zmieniło pliku źródłowego PHPa. Po co więc sobie czas zabierać, i procesorowi? No chyba że w formie treningu.


--------------------
Go to the top of the page
+Quote Post
cicik
post
Post #3





Grupa: Zarejestrowani
Postów: 219
Pomógł: 5
Dołączył: 18.07.2006
Skąd: Piekary Śląskie

Ostrzeżenie: (0%)
-----


Ja tez od dluzszego czasu mysle na takim rozwiazaniem.
Chce je wykorzystac do udostepniania poprawek (nowych modulow).
Strona klienta pobiera nowy modul i uruchamia jego instalator (np. install.php). On juz dalej wie co jak.
Myslalem tez na sprawdzaniem informacji czy dany modul moze byc zainstalowany na oprogramowaniu klienta (zgodnosc wersji, obecnosc innych wymaganych modulow).

Myslalem o tym, zeby modul byl zzipowany. Wtedy program klienta sciaga zipa, rozpakowuje i przekierowuje do instalatora. Zalozenie jest takie, ze zip musialby byc maly. Ewentualnie mozna kazac normalnie sciagnac zip klientowi i umiescic na ftpie.


--------------------
CMS dla Twojej firmy
Wojciech Małota
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 09:46