Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: struktura kont usera
Forum PHP.pl > Forum > PHP
laikkk
Witam,
Jestem w trakcie pisania mini portalu, i zastanawia mnie jakim sposobem "zbudować" fundament stronki, chodzi mi dokładnie o szybkość skryptu oraz bezpieczeństwo systemu kont użytkowników. Mam dwie propozycje:

* W czasie rejestracji skrypt tworzy nowy folder o nazwie skladajacej sie z dowolnego ciagu znakow, i w tym folderze trzyma np. obrazy użytkownika. To wszystko jest połączone z baza danych.
* Druga opcja to wrzucanie wszystkich grafik do jednego folderu które są połączone z baza danych

Mozę znacie jakiś inny pomysł na szybki i bezpieczny system kont uzytkowniow?


Pozdrawiam
webdice
Myślę że najlepszym sposobem będzie ustawianie dla nazwy pliku przykładowo hash sh1. W bazie będziesz miał dodatkową tabele identyfikującą użytkownika z plikiem.

Wszystko zależy od konkretnej sytuacji. Napisz troszkę więcej (orientacyjna ilość plików użytkownika, przybliżona ilość użytkowników).

Cytat(emajl22 @ 12.01.2011, 16:41:56 ) *
że jak? sciana.gif


Nie masz nic ciekawego do napisania to nie pisz. Po raz kolejny widzę jak nabijasz posty.
laikkk
chodzi mi o trzymanie np zdjęć danego użytkownika. Czy każdy ma mieć swój osobny folder czy wszystkie zdjęcia pakować do 1 ogólnego folderu i jak to ma się do szybkości skryptu i bezpieczeństwa?

Nie potrafię jeszcze określić ilość ale przypuścimy ok 30 tys kont i każdy z nich miałby po 2-3 zdjęcia
Crozin
Wszystko do jednego wora, nie ma sensu bawić się w tysiące katalogów. Możesz co najwyżej ten katalog podzielić na mniejsze, by jego przeglądanie (np. przez FTP) było jakoś znośne (zamiast 90 000 obrazów będziesz miał po kilkanaście, kilkadziesiąt na katalog).

Innymi słowy:
Kod
Moje super zdjęcie.jpeg

# Nazwę zamieniamy na coś na czym się wygodniej pracuje, np. unikalny, 40 znakowy ciąg.
76c5f0f9ed89ba2f67745ed45f8e45c93ea1e22a.jpeg

# Taki plik wrzucamy do katalogu:
/images/7/6/76c5f0f9ed89ba2f67745ed45f8e45c93ea1e22a.jpeg -- zauważ, że dwa pierwsze katalogi odpowiadają dwóm pierwszym znakom

# W bazie danych wystarczy przechowywać nazwę pliku (76c5f0f9ed89ba2f67745ed45f8e45c93ea1e22a) i jego typ na podstawie którego można określić rozszerzenie (np.: image/jpeg)
CuteOne
Zapytaj siebie jak lepiej zarządzać grafiką - w podfolderach z 3 zdjęciami czy w folderze "ogólnym" z 90k zdjęć?

Wg mnie struktura katalogów powinna wyglądać mniej więcej tak:

users
|
| - 1
| - 2
| - 3
| - 4

1-4 to id użytkownika z bazy. Nazwy plików tak jak webdice opisał

Co do bezpieczeństwa poczytaj o możliwościach .htaccess
laikkk
ok dzieki bardzo za odpowiedz. Uzyje sposobu Crozin

Pozdrawiam
thek
Moim zdaniem najlepiej mieć to zależne od zawartości. Co innego dane mające być dostępne dla usera i widoczne, a co innego prywatne. najbezpieczniejsze byłoby utworzenie katalogu chronionego przez htaccess tak, by nikt nie miał dostępu (to banalne). Wewnątrz struktura podkatalogów, które identyfikują usera (poprzez id choćby) i wewnątrz nich już się bawisz. Ja zazwyczaj jeszcze wydzielam podkatalogi "zadaniowe", czyli osobno pliki galerii, osobno pliki załączników, osobno choćby jakieś dodatkowe pliki usera. Jako że są one poblokowane, to dostęp do nich jest tylko i wyłącznie poprzez skrypt php i tylko dla zalogowanych userów (skrypt sprawdzałby to, bo to nie problem zrobić sprawdzenie czy user jest zalogowany w serwisie). Ewentualny dostęp do plików, które miały by być widoczne na zewnątrz to regułka htaccess, która zezwalałby na odczyt z lokacji o określonym wzorcu. Tylko jak zaznaczam - musiałbyś na starcie znać strukturę katalogów, której musiałbyś się trzymać i userowi dać możliwość przenoszenia plików pomiędzy swoimi katalogami.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.