[PHP]Gdzie przechowywać pliki w frameworku |
[PHP]Gdzie przechowywać pliki w frameworku |
-geek- |
28.05.2013, 13:43:23
Post
#1
|
Goście |
Witam,
od pewnego czasu zajmuję się nauką frameworka CodeIgniter. Po drodze wpadłem na pewno czysto teoretyczne pytanie: Gdzie powinienem przechowywać folder z moimi plikami w strukturze frameworka? W pliku application, a może w folderze bazowym? Za pomoc serdecznie dziękuję, a obsługę proszę o dodanie punktów osobą zasługującym na to |
|
|
28.05.2013, 13:59:49
Post
#2
|
|
Grupa: Zarejestrowani Postów: 374 Pomógł: 23 Dołączył: 3.06.2006 Skąd: Katowice Ostrzeżenie: (0%) |
Najczęściej stosowane są dwa rozwiązania (drugie baedziej bezpieczne).
1. Katalog files w katalogu głównym, w którym przechowujesz pliki w odpowiednich katalogach. 2. Pliki ładujesz powyżej katalogu dostępnego publicznie i serwujesz je za pomocą PHP. Dzięki temu nie ma możliwości dobrania się bezpośrednio do pliku w celu jego pobrania, a w skrypcie serwującym pliki możesz sprawdzić, czy dany user ma odpowiednie uprawnienia do ich pobrania. Dobrą sprawą przy uploadzie plików jest zamiana ich nazw na sumy kontrolne md5 ich zawartości. Dzięki temu możesz zapobiec sytuacji, w której dany plik wgrywany jest więcej niż jeden raz na serwer. Usuwasz go dopiero w przypadku gdy z bazy leci ostatni rekord z nagłówkiem tego pliku. -------------------- Pomogłem? Podziękuj proszę klikając poniżej "POMÓGŁ" ;)
|
|
|
-geek- |
28.05.2013, 14:04:01
Post
#3
|
Goście |
Jako, że nie planuję przechowywać jakiś ważniejszych plików skorzystam z rozwiązania nr 1. Wielkie dzięki
|
|
|
28.05.2013, 19:19:41
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) |
Dobrą sprawą przy uploadzie plików jest zamiana ich nazw na sumy kontrolne md5 ich zawartości. Dzięki temu możesz zapobiec sytuacji, w której dany plik wgrywany jest więcej niż jeden raz na serwer. Usuwasz go dopiero w przypadku gdy z bazy leci ostatni rekord z nagłówkiem tego pliku. Zastanowiłbym się nad prawdopodobieństwem kolizji sum kontrolnych, pewnie prawdopodobieństwo bardzo małe ale przy bardzo dużych systemach raczej brane pod uwagę. -------------------- |
|
|
28.05.2013, 19:27:07
Post
#5
|
|
Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 |
Zastanowiłbym się nad prawdopodobieństwem kolizji sum kontrolnych, pewnie prawdopodobieństwo bardzo małe ale przy bardzo dużych systemach raczej brane pod uwagę. W tym wypadku trzeba całkowicie wyeliminować prawdopodobieństwo kolizji, które wcale małe nie jest. PS. Pliku trzymałbym bezwzględnie powyżej document root i nie chodzi tylko o to że znajdują tam newralgiczne pliki, a z powodu stosowania dobrych praktyk. |
|
|
28.05.2013, 20:06:22
Post
#6
|
|
Grupa: Zarejestrowani Postów: 374 Pomógł: 23 Dołączył: 3.06.2006 Skąd: Katowice Ostrzeżenie: (0%) |
Tak zgadza się, że prawdopodobieństwo wystąpienia dwóch jednakowych sum kontrolnych jest możliwe, jednak szczerze powiedziawszy nie zdarzyła mi się jeszcze taka sytuacja na systemie zawierającym ponad 120TB danych. Fakt faktem, że dodatkowo porównujemy rozmiar i na taki wypadek dane zapisywane są na innej macierzy z informacją w Oracle, ale dotychczas nie zdarzył się taki przypadek.
-------------------- Pomogłem? Podziękuj proszę klikając poniżej "POMÓGŁ" ;)
|
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 18:41 |