Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Logowanie, Przechowywanie i wyswietlanie dokumentow, szyfrowanie polaczen, timeout, automatyczne wywolanie zapytan SQL
chineseBox
post 17.01.2008, 20:39:30
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 17.01.2008

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


Witam,

Ostatnio pracuje nad prostym serwisem, który będzie zawieral system logowania, oraz przechowywal ebooki dostępne po zalogowaniu i tu mam kilka problemow:



1) Szyfrowanie danych z formy

Jak zaszyfrowac dane przesylane z formy do skryptu.


Konkretnie chodzi mi o forme logowania i przesylania hasla przed zhashowaniem, ja wygooglalem tylko ssl. Może istnieje lepsza alternatywa jeśli nie interesuja mnie certyfikaty, a jedynie szyfrowanie polaczenia, aby tekst nie był przesylany w formie jawnej?

1a) Czy ktos moglby mi opisac jak władać ssl’em? Tyle co udalo mi się zorientowac to wystarczy w adresie wpisac https, ale czy mogę jakos wybrac jakim algorytmem te dane będą szyfrowane?



2) Automatyczne wylogowanie po 15 minutach

Jak zrobic wylogowanie użytkownika po nieaktywności np. 15min?


Jedyne co mi przychodzi do glowy to pobierac czas za każdym razem gdy użytkownik wybierze jakis odnośnik i porównywać z poprzednim czasem i na tej podstawie podjąć decyzje o wylogowaniu, ale wydaje mi się ze to kiepskie rozwiązanie m.in. dlatego, ze user może wrócić dopiero po godzinie i przez ten czas sesja będzie aktywna dopóki nie kliknie na jakis link…



3) 24 godzinne konta samo usuwajace

Chciałbym również zrobic cos takiego, aby osobnik z odpowiednimi uprawnieniami mogl generowac 24 godzinne konta, czyli po upływie 24 godzin od zalozenia konto usuwaloby się automatycznie

Pomyślałem o takim rozwiązaniu, ze gdy wyświetlałaby się forma logowania automatycznie uruchamialaby się funkcja z takim zapytaniem do bazy. Pisane takim troche pseudokodem, szczególnie w miejscu na date ale chyba można rozszyfrowac co miałem na mysli:

DELETE FROM table WHERE registertime>=registertime+24h

Ale musi istniec lepsze rozwiazanie, tym sposobem chyba szybko bym zarznal baze…



4) Przechowywanie i wyswietlanie dokumentow

I ostatni problem, jak najlepiej przechowywac oraz wyświetlać ebooki tak, aby tylko osoby uprawnione mialy do nich dostep?

Wystarczy ustawic chmod na folder z pdf’ami?

Gdy będę chciał wyświetlić ebooka to podac do niego pelna ścieżkę dostępu, czy includowac czy jeszcze cos innego?



Troche przydlugi ten post, ale nie potrafie prosciej i przejrzysciej zadawac pytan tiredsmiley.gif pozdrawiam

Ten post edytował chineseBox 17.01.2008, 20:40:10
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Tubis
post 17.01.2008, 22:02:45
Post #2





Grupa: Zarejestrowani
Postów: 44
Pomógł: 2
Dołączył: 27.03.2007
Skąd: Sufczyn

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


Ad 2
Podobnie działają sesje: Poczytaj w manualu
Automatycznie wygasają po dłuższej nieaktywności. Powinno ci odpowiadać
Go to the top of the page
+Quote Post
jang
post 17.01.2008, 22:22:44
Post #3





Grupa: Zarejestrowani
Postów: 101
Pomógł: 11
Dołączył: 2.02.2005

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


ad 3. Zerknij tutaj -> http://artykuly.zyxist.com/czytaj.php/wlasny_mechanizm_sesji to wprawdzie nie to o co pytasz ale chodzi mi o metodę private function garbageCollector() nie jest wykonywana w jakiejś pętli bez końca. Ty możesz zrobić np. jeśli ktoś tworzy nowe 24-godzinne konto to jednocześnie są sprawdzane starsze i kasowane.

ad 4. po zalogowaniu się user wchodzi do swojego panelu i tam dajesz link do spisu eboków i na tej nowej z ich spisem sprawdzasz czy jest zalogowany, jeśli tak to wyświetlasz spis, jeśli nie to kieujesz na stronę z logowaniem.


--------------------
$email = filter_var(filter_var($email, FILTER_SANITIZE_EMAIL), FILTER_VALIDATE_EMAIL);
if($email === false) {
// Houston, we have a problem....
}
Go to the top of the page
+Quote Post
Virti
post 17.01.2008, 22:25:52
Post #4





Grupa: Zarejestrowani
Postów: 115
Pomógł: 12
Dołączył: 11.01.2005
Skąd: Zduńska Wola

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


ad.4 Includować, w przeciwnym razie link może się rozprzestrzenić i ściągać będą nawet ludzie nigdy nie będący na Twojej stronie.

Własny mechanizm sesji sprawiłby się tutaj najlepiej. Rozwiązałby wszystkie Twoje problemy(poza 1.).

Ten post edytował Virti 17.01.2008, 22:26:10
Go to the top of the page
+Quote Post
chineseBox
post 17.01.2008, 23:17:24
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 17.01.2008

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


Tubis miales na mysli session.cookie_lifetime, session.gc_maxlifetime?
a one nie wygasaja przypadkiem po pewnym czasie bez wzgledu na to czy uzytkownik jest aktywny czy nie?
Pytam z ciekawosci bo w sumie nie wiem

a wlasnym mechanizmem sesji sie zainteresuje zapowiada sie ciekawie, dzieki za wskazowke

Jak ktos ma jeszcze jakies pomysly to chetnie poslucham.

Mam jeszcze pytanie dotyczace przechowywania pdf:
jak zabezpieczyc folder z plikami, zeby osoba posiadajaca link do dokumentu nie mogla go otworzyc bez uprzedniego zalogowania?
i czy istnieje jeszcze jakis inny sposob na prezentacje takiego pdfa oprocz includowania, chodzi mi o to jakie jest najprofesjonalniejsze rozwiazanie winksmiley.jpg

Cytat
Includować, w przeciwnym razie link może się rozprzestrzenić i ściągać będą nawet ludzie nigdy nie będący na Twojej stronie.


Tego wlasnie chcialbym uniknac, mam zamiar przechowywac prace dyplomowe w formie pdf i w zwiazku z tym zalezy mi na tym, aby niepowolane osoby nie mialy dostepu do tych plikow

Ten post edytował chineseBox 17.01.2008, 23:22:19
Go to the top of the page
+Quote Post
Tubis
post 18.01.2008, 11:52:47
Post #6





Grupa: Zarejestrowani
Postów: 44
Pomógł: 2
Dołączył: 27.03.2007
Skąd: Sufczyn

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


Chodziło mi poprostu o to że jak user się zaloguje to dajesz session.start(). Do tablicy superglobalnej $_SESSION coś określające że user jest zalogowany i jego poziom. W każdym pliku php później dajesz na początku session.start i odczytujesz dane z tablicy superglobalnejczy user jest zalogowany. Jeśli tak, to udostępniasz mu pliki zgodnie z jego poziomem. Tablica superblobalna, która nie jest co jakiś czas uwierzytelniana poleceniem session.start() traci zawarte w niej dane, więc dane użytkownika się usuną i nie będzie on mógł przeglądać. Wtedy odesłać go na stronę z logowaniem.
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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 21:03