Projekt z Technologii Internetowych Internetowe repozytorium plików z autoryzacją użytkownika



Podobne dokumenty
Platforma e-learningowa

Instrukcja pozyskania identyfikatora - UID

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

1. Proszę wejść na stronę: poczta.home.pl i zalogować się do nowej skrzynki za pomocą otrzymanych danych.

HOTSPOT. [ konfiguracja, rejestracja, użytkowanie ]

Platforma e-learningowa

Współpraca z platformą Emp@tia. dokumentacja techniczna

Podstawy technologii WWW

timetrack Przewodnik Użytkownika timetrack Najważniejsze Funkcje

Podręcznik Użytkownika LSI WRPO

Wstęp. Skąd pobrać program do obsługi FTP? Logowanie

epuap Zakładanie konta organizacji

Palety by CTI. Instrukcja

epuap Zakładanie konta organizacji

KRÓTKI PRZEWODNIK Z ZAKRESU OBSŁUGI APLIKACJI PB ONLINE

INSTRUKCJA UŻYTKOWNIKA GENERATORA WNIOSKÓW O DOFINANSOWANIE DLA WNIOSKODAWCÓW


Instrukcja logowania do systemu Rejestru Unii dla nowych użytkowników

Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/1.1.1/2015

1. Składanie wniosku rejestracyjnego - rejestracja konta użytkownika/firmy

Własna strona WWW w oparciu o CMS

SZYBKI START. Tworzenie nowego połączenia w celu zaszyfrowania/odszyfrowania danych lub tekstu 2. Szyfrowanie/odszyfrowanie danych 4

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

Minimalna wspierana wersja systemu Android to zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4.

Elektroniczny Urząd Podawczy

JAK KORZYSTAĆ Z PORTALU LOGISTYKI HOCHTEF POLSKA S.A.

CitiManager Krótki przewodnik dla Posiadaczy kart

autor poradnika - KS Jak zamieszczać i edytować artykuły na szkolnej stronie internetowej

Instalacja systemu zarządzania treścią (CMS): Joomla

ELEKTRONICZNA KSIĄŻKA ZDARZEŃ

Platforma zakupowa GRUPY TAURON

MATERIAŁY - udostępnianie materiałów dydaktycznych w sieci SGH

INSTRUKCJA UśYTKOWNIKA SYSTEMU E-ZGŁOSZENIA

Instrukcja obsługi systemu e-faktury.no

Dokumentacja użytkownika E-działania - POLCHAR

Wypożyczalnia by CTI. Instrukcja

Instrukcja obsługi uczelnianego systemu zarządzania stronami internetowymi (CMS)

LeftHand Sp. z o. o.

System epon Dokumentacja użytkownika

Instrukcja dla użytkowników Windows Vista Certyfikat Certum Basic ID

DigiSkills D3.5 Instrukcja korzystania z zasobów DigiSkills

Certyfikat Certum Basic ID. Instrukcja dla użytkowników Windows Vista. wersja 1.3 UNIZETO TECHNOLOGIES SA

Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/1.1.1/2015

Poradnik zetula.pl. Jak założyć konto na zetula.pl. i zabezpieczyć dane na swoim komputerze?

Archiwum DG 2016 PL-SOFT

INSTRUKCJA PLATFORMA KLIENTA CBIDGP

e-wsparcie Barbara Muszko Aktualizacja Twojej witryny internetowej tak prosta, jak obsługa Worda

Instrukcja logowania do systemu Rejestru Unii

KONTO UCZNIA Rok szkolny 2016/2017

Rys. 1. Widok uruchomienia polecenia apt-get install build-essential. Rys. 2. Widok uruchomienia polecenia apt-get install apache2

instrukcja INSTALACJI APi_proxy

wersja 1.0 ośrodek komputerowy uj cm ul. mikołaja kopernika 7e, Kraków tel

Instrukcja. Rejestracji i aktywacji konta w systemie so-open.pl DOTACJE NA INNOWACJE; SOFTWARE OPERATIONS SP. Z O. O.

ELEKTRONICZNA SKRZYNKA PODAWCZA CYFROWY URZĄD Województwa Warmińsko Mazurskiego Część użytkownika

Produkcja by CTI. Proces instalacji, ważne informacje oraz konfiguracja

Windows Server 2008 Standard Str. 1 Ćwiczenia. Opr. JK. I. Instalowanie serwera FTP w Windows Server 2008 (zrzuty ekranowe z maszyny wirtualnej)

REFERAT O PRACY DYPLOMOWEJ

Logowanie do systemu. Rys. 1 Strona logowania

SYSTEM ZARZĄDZANIA DANYMI OSOBOWYMI - INSTRUKCJA UŻYTKOWNIKA

Instrukcja odzyskiwania dostępu do e-dziennika oraz pozostałych modułów portalu

Instrukcja logowania do systemu Rejestru Unii dla nowych użytkowników

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

INSTRUKCJA OBSŁUGI Proces rejestracji i logowania

INSTRUKCJA UŻYTKOWNIKA GENERATORA WNIOSKÓW O DOFINANSOWANIE DLA WNIOSKODAWCÓW

Podręcznik Administratora Szkoły

Pierwsze kroki w systemie

Instrukcjaaktualizacji

PWI Instrukcja użytkownika

Rejestracja Czasu Pracy RCP Instrukcja

INSTRUKCJA UŻYTKOWNIKA Repozytorium Dokumentów Elektronicznych KS-EDE ISO 9001:2008 Dokument: Wydanie:

Program Rabator dla Microsoft Windows.

Przewodnik użytkownika (instrukcja) AutoMagicTest

Instrukcja EQU Kantech

Instrukcja dostępu do usługi Google Scholar

Data wydania: Projekt współfinansowany przez Unię Europejską ze środków Europejskiego Funduszu Społecznego

Finanse VULCAN. Jednostki dodaje i konfiguruje administrator główny platformy (w aplikacji Zarządzanie platformą).

AZACO Eksporter. Instrukcja konfiguracji oraz automatycznego eksportu danych. Przygotowanie środowiska...2. Konfiguracja zadań eksportu danych...

FedEx efaktura Instrukcja Użytkownika

Nr: 12. Tytuł: UDOSTĘPNIANIE DANYCH O SPRAWACH KLIENTOM KANCELARII NA ZEWNĘTRZNYCH SERWERACH WWW. Data modyfikacji:

1. LOGOWANIE DO SYSTEMU

Aplikacja Mobilna. Platformy B2B Kompanii Biurowej

Instrukcja użytkownika. Aplikacja dla WF-Mag

Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/4.1.4/2015

Instrukcja uzyskiwania kodu dostępu do oprogramowania ESItronic za pomocą Internetu.

Wszystkie prawa zastrzeżone. NOWY BIZNESLINK FAQ dla Klientów

1. Pobieranie i instalacja FotoSendera

Pomoc dla systemu WordPress

Dodawanie nowego abonenta VOIP na serwerze Platan Libra

INSTRUKCJA UŻYTKOWNIKA

WYPOŻYCZALNIA BY CTI INSTRUKCJA


System Symfonia e-dokumenty

Praca w systemie WET SYSTEMS

Symfonia Produkcja Instrukcja instalacji. Wersja 2013

Skrócona instrukcja korzystania z Platformy Zdalnej Edukacji w Gliwickiej Wyższej Szkole Przedsiębiorczości

Instrukcja stosowania platformy internetowej "Szkoła praktycznej ekonomii - młodzieżowe miniprzedsiębiorstwo" - zakładka Nauczyciel

PODRĘCZNIK UŻYTKOWNIKA programu Pilot

DBE DataBase Engineering

Serwis jest dostępny w internecie pod adresem Rysunek 1: Strona startowa solidnego serwisu

Transkrypt:

Projekt z Technologii Internetowych Internetowe repozytorium plików z autoryzacją użytkownika Ti 2, sekcja 1, podsekcja 1 Adrian Łęgowski Dawid Ważny

Wśród studentów często istnieje konieczność wymiany niedużych plików pdf, bądź nieco większych archiwów z programami napisanymi w ramach zajęć laboratoryjnych lub też wykresów(np. Matlabowskich), które przy odpowiedniej dokładności mogą zajmować nawet powyżej 100MB. Przedstawiany tutaj program ma za zadanie całkowicie wykluczyć pośredników w wymianie plików(np. Rapidshare, megaupload). Oferowane funkcjonalności pozwalają na wymianę zarówno nieograniczenie dużych jak i bardzo małych plików. Podstawową zaletą skryptu jest prosty torrent tracker, który działa w sposób zautomatyzowany. Do prawidłowego działania niezbędny jest tylko jego adres, a pozostałymi czynnościami zajmują się mechanizmy wbudowane w odpowiednią klasę. Wymiana plików przez HTTP jest chroniona systemem autoryzacji użytkowników połączonym z systemem uprawnień. Program oferuje dwa poziomy użytkowników(gość, Zarejestrowany) oraz możliwość ukrycia plików dla poszczególnych użytkowników. Każdy plik w repozytorium można opisać w sposób dowolny.

1. Funkcje programu Rejestracja użytkowników: skrypt pozwala na dodawanie użytkowników poprzez odpowiedni formularz. Aby możliwa była rejestracja nowego użytkownika niezbędne jest wysłanie tzw. zaproszenia na odpowiedni adres email. Logowanie(autoryzacja użytkownika): każdy zarejestrowany użytkownik posiada możliwość zalogowania się do systemu za pomocą wcześniej podanego hasła i identyfikatora(loginu). Niezarejestrowani użytkownicy mogą zalogować się na konto Gość, które posiada ograniczone prawa nie może w żaden sposób ingerować w zawartość folderów. Usuwanie użytkownika: usuwanie użytkownika odbywa się poprzez głosowanie pozostałych użytkowników. Zapraszanie użytkowników: każdy zarejestrowany użytkownik ma prawo zaprosić nowego użytkownika. Edycja profilu: każdy zarejestrowany użytkownik może zmienić dane w swoim profilu. Tworzenie plików: zalogowany(nie na konto gościa) użytkownik może stworzyć plik o dowolnej treści z jednym z trzech rozszerzeń. Te rozszerzenia to php, txt, html. Usuwanie plików: zalogowany(nie na kontro gościa) użytkownik może usunąć dowolny plik. Generowanie linków jednorazowych: każdy zarejestrowany i zalogowany użytkownik może wygenerować jednorazowy odnośnik do dowolnego pliku. Tworzenie folderów: zalogowany(nie na konto gościa) użytkownik może stworzyć folder o dowolnej(spośród dozwolonych przez systemu uniksowe) nazwie i opisie. Pobieranie plików: użytkownicy mają możliwość pobierania plików zarówno przez stronę internetową jak i protokół p2p.

2. Instrukcja użytkownika I. Wymagania Aby poprawnie uruchomić skrypt niezbędny jest serwer z obsługą php w wersji 5. Bardzo istotnym jest, aby serwer nie działał w trybie tzw. safe mode. Dobrym zwyczajem jest zadbanie o to, aby opcja register globals była wyłączona, to może utrudnić ewentualne uszkodzenie skryptu. II. Instalacja Aby zainstalować skrypt, należy wgrać pliki na wybrany serwer i ustawić uprawnienia następujących plików i folderów: wszystkie pliki *.php muszą mieć możliwość zapisu i odczytu(najlepiej chmod 644), foldery votes, files, O_links, cache, sessions, trackerdb, 1q2w3e4r5t6y7u8i9o0z9a8s6f6g5h6 muszą być zapisywalne(najlepiej chmod 644). Konieczna może się okazać konfiguracja plików.htaccess, jeśli pliki dostarczone wraz ze skryptem nie działają, należy skontaktować się z administratorem lub odwołać się do dokumentacji serwera. Po zainstalowaniu skrypt jest gotowy do działania. Zarejestrowany jest jeden użytkownik: Login: Admin Hasło: Admin Należy zwrócić uwagę na wielkie litery. III.Plik konfiguracyjny Plik konfiguracyjny(cfg.php) jest zbudowany według schematu: nazwazmiennej=wartość#komentarz Domyślnie plik konfiguracyjny jest wypełniony komentarzami, aby ułatwić zrozumienie jego treści. Należy pamiętać, że wszelkie ścieżki do plików i folderów powinny być adresowane bezwzględnie, tzn. wg schematu:./folder1/folder2/plik IV. Rejestracja Rejestracja użytkownika odbywa się poprzez formularz w pliku register.php Aby się zarejestrować, należy wypełnić wszystkie pola oznaczone gwiazdką *. Pole Imię i nazwisko jest opcjonalne. Rejestracja jest możliwa tylko po otrzymaniu zaproszenia. W polu Adres e-mail należy wpisać adres, na który zostało wysłane zaproszenie. V. Logowanie Aby się zalogować, należy wprowadzić identyfikator(login) i hasło podane przy rejestracji, a następnie kliknąć Zaloguj" Aby zalogować się na konto gościa, należy kliknąć w odnośnik Zaloguj jako gość. Formularz logowania jest widoczny tylko dla niezalogowanych użytkowników. VI. Odzyskiwanie hasła Aby odzyskać(wygenerować) hasło, należy kliknąć w odnośnik Zapomniałem hasła w formularzu logowania i wpisać swój identyfikator(login). Nowe hasło zostanie wysłane na adres email przypisany do tego identyfikatora. Należy zwrócić uwagę, że wygenerowane hasło jest długie, a jego kopiowanie często jest nieskuteczne, ponieważ najczęściej kopiowany jest także ostatni biały znak. Aby mieć pewność, że hasło zostało poprawnie skopiowane należy(w systemie Windows) kliknąć dwukrotnie na haśle i z menu podręcznego wybrać opcję kopiuj.

VII. Edycja danych w profilu W zakładce profil dostępnej ze strony głównej można zmodyfikować swoje dane. Obowiązkowe są tylko pola oznaczone gwiazdką *. VIII. Przeglądanie zawartości folderów Zalogowany użytkownik ma możliwość przeglądania folderów i ściągania plików. Użytkownicy zarejestrowani i zalogowani mogą usuwać pliki oraz generować odnośniki do nich. Aby wygenerować odnośnik do pliku, należy kliknąć w Generuj link. Aby usunąć plik, należy kliknąć w Usuń plik, następni potwierdzić chęć usunięcia danego pliku. Zawartość poszczególnych kolumn reprezentuje kolejno: Typ rozróżniane są dwa podstawowe typy: folder, plik. Typ plik dzieli się na kilka rozpoznawanych typów plików(np. rar, pdf, exe). Istnieje możliwość sortowania wg podstawowych typów(folder/plik). Reprezentacja odbywa się w postaci obrazków. Nazwa reprezentuje nazwę pliku lub jego nazwę zastępczą. Pod nazwą może się znajdować opis pliku/folderu. Typ typ elementu reprezentowany tekstowo Rozmiar - reprezentowany liczbowo rozmiar pliku lub folderu. W przypadku pliku jest to wprost jego rozmiar, jednak w przypadku folderu jest to suma rozmiarów wszystkich plików znajdujących się wewnątrz. Akcje kolumna zawiera akcje możliwe do wykonania na zadanym elemencie. IX. Wgrywanie pliku Aby wgrać plik, należy kliknąć w Upload na stronie folderu, do którego chcesz dodać plik. Jedyne obowiązkowe pole to pole uploaduj reprezentujące adres wgrywanego pliku na dysku lokalnym. Pole nazwa zastępcza reprezentuje nazwę, która będzie wyświetlana podczas przeglądania plików. Pozostawienie pustego pola zaowocuje wypisaniem prawdziwej nazwy pliku. X. Tworzenie nowego folderu Aby stworzyć nowy folder, należy kliknąć w Nowy folder na stronie folderu, w którym chcesz utworzyć pod-folder. Obowiązkowe pole prawdziwa nazwa reprezentuje rzeczywistą nazwę folderu na dysku serwera. Pole nazwa zastępcza reprezentuje wyświetlaną nazwę podczas przeglądania folderu nadrzędnego. XI. Tworzenie nowego pliku Aby stworzyć nowy plik, należy kliknąć w Nowy plik na stronie folderu, w którym chcesz umieścić nowy plik. Obowiązkowe pole prawdziwa nazwa reprezentuje rzeczywistą nazwę folderu na dysku serwera. Pole nazwa zastępcza reprezentuje wyświetlaną nazwę podczas przeglądania folderu nadrzędnego. Pole treść pliku reprezentuje zawartość pliku, która zostanie zapisana. Może to być dowolna treść. XII. Usuwanie folderów Usuwanie folderów jest możliwe tylko poprzez bezpośredni dostęp do plików/folderów z poziomu ftp. XII. Zapraszanie użytkowników Aby zaprosić użytkownika, należy kliknąć w Zaproś kogoś w menu dolnym, a następnie wpisać adres email osoby zapraszanej.

XIII.Usuwanie użytkownika Usuwanie użytkownika odbywa się poprzez głosowanie pozostałych użytkowników. Aby usunąć danego użytkownika potrzeba n-1 głosów, gdzie n oznacza aktualną liczbę zarejestrowanych użytkowników. 3. Wybrane zrzuty ekranowe Rys. 1 Okno logowania Rys. 2 Komunikat o braku uprawnień Rys. 3 Wygenerowany link jednorazowy

4. Wykorzystane technologie Do budowy przedstawianego skryptu wykorzystano język skryptowy php5 do generowania dynamicznej zawartości i operacji na plikach. Zastosowano tę wersję php, ponieważ oferuje ona pełne programowanie obiektowe, co pozwala na przyśpieszenie prac nad rozszerzeniami skryptu. Pewną alternatywą dla php jest jest ASP i perl, jednak z powodu znacznego wsparcia społeczności wybór padł na php5. Do tworzenia warstwy prezentacji wykorzystano XHTML 1.0(strict), ponieważ takie podejście zapewnia zgodność z przeglądarkami, które dopiero mają nadejść. Wybrane fragmenty kodu: $globals = new Globals(); $globals->registerall( COOKIE ); $globals->register( new GET('dir', hexadecimal) ); $globals->register( new GET('sortby', integer) ); $globals->register( new GET('sort', integer) ); $globals->checkunregistered(); Powyższy fragment kodu pochodzi z pliku index.php i przedstawia sposób rejestrowania zmiennych w skrypcie. Po wykonaniu tego kodu w skrypcie można używać zmiennych COOKIE w każdej postaci, zaś zmiennych GET o indeksach tylko wyżej wymienionych. Następuje automatyczne rzutowanie typów i czyszczenie zawartości zmiennych tak, aby nie były zagrożeniem dla skryptu. Typ hexadecimal jest typem zadeklarowanym przez skrypt, a nie właściwością języka. Options -Indexes RewriteEngine On RewriteCond %{HTTP_COOKIE}!^.*2921c27703d2384a72771fa2a412afc3.*$ [NC] RewriteRule.* http://www.baranie.webd.pl/download/notallowed.php [NC,L] Powyższy fragment przedstawia treść pliku.htaccess blokującego dostęp do plików i folderów. Nazwa ciasteczka w późniejszych wersjach programu będzie generowana okresowo. 5.Napotkane problemy Podstawowym problemem aplikacji internetowych jest brak odporności na ataki hakerskie. W prezentowanym skrypcie zdecydowano, że najlepszym rozwiązaniem będzie wstępne filtrowanie używanych zmiennych oraz ich rejestracja. W przypadku pojawienia się zmiennej niezarejestrowanej skrypt powinien kończyć działanie i wyświetlać komunikat o nieprawidłowym zapytaniu. Najtrudniejszym zadaniem okazało się zaprojektowanie pliku download.php. Aby utrudnić dostęp do plików osobom nieupoważnionym zdecydowano się na kontrolowanie zawartości ciasteczek. Serwer sprawdza, czy ciasteczko o zadanej nazwie istnieje w pamięci użytkownika. Takie podejście nie jest oczywiście całkowicie bezpieczne, jednak losowa generacja nazwy ciasteczka poważnie utrudni ewentualne włamanie.