Trzymanie obrazka w bazie. Jakie zagrożenia ?
sawic - 06-09-2006 01:36
Trzymanie obrazka w bazie. Jakie zagrożenia ?
Witam. Pytanie chyba pasuje do TG. Chciałbym trzymać niewielkie obrazki, które użytkownicy mogli by sami wgrywać, w bazie mysql. Jakie zagrożenia są z tym związane ? Czy mogę taki obrazek po prostu potraktować mysql_real_escape_string() i by to wszystkie sprawy odnośnie bezpieczeństwa załatwiło ?
Pozdrawiam
zomelos - 06-09-2006 01:36
sawic napisał(a): > Chciałbym trzymać niewielkie obrazki, które użytkownicy mogli by sami > wgrywać, w bazie mysql.
A po co? Nie lepiej trzymać na dysku poza documentroot-em?
-- Pozdrawiam, Michał zomelos@orange.pl
sg - 06-09-2006 01:36
zomelos napisał(a): > sawic napisał(a): >> Chciałbym trzymać niewielkie obrazki, które użytkownicy mogli by sami >> wgrywać, w bazie mysql. > > A po co? Nie lepiej trzymać na dysku poza documentroot-em? >
a dlaczego to ma być lepiej?
zomelos - 06-09-2006 01:36
sg napisał(a): >> A po co? Nie lepiej trzymać na dysku poza documentroot-em? >> > > a dlaczego to ma być lepiej?
Są zwolennicy trzymania obrazków w bazie i zwolennicy trzymania obrazków w plikach. Należę do tych drugich.
-- Pozdrawiam, Michał zomelos@orange.pl
Any User - 06-09-2006 01:36
>> a dlaczego to ma być lepiej? > > Są zwolennicy trzymania obrazków w bazie i zwolennicy trzymania obrazków w > plikach. Należę do tych drugich.
Moim zdaniem, jedyne zalety trzymania obrazków w bazie to omijanie ewentualnych ograniczeń narzuconych przez admina (ale to niekoniecznie dla serwisu www i niekoniecznie dla obrazków - dobrze się w ten sposób natomiast omija firewalle, trzymając w bazie pliki wykonywalne), oraz kwestie replikacyjne (ale tylko w specyficznych warunkach). W pozostałych przypadkach lepiej trzymać obrazki na dysku.
porneL - 06-09-2006 01:36
On Mon, 04 Sep 2006 20:52:51 +0100, sawic <sawicc@wytnij.to.gmail.com> wrote:
> Pytanie chyba pasuje do TG. > Chciałbym trzymać niewielkie obrazki, które użytkownicy mogli by sami > wgrywać, w bazie mysql. > Jakie zagrożenia są z tym związane ? > Czy mogę taki obrazek po prostu potraktować mysql_real_escape_string() i > by to wszystkie sprawy odnośnie bezpieczeństwa załatwiło ?
tak.
Natomiast IMHO do trzymania *plików* jest lepszy *system plików*, niż baza danych, która i tak na nim siedzi.
-- * html {redirect-to: url(http://kurs.browsehappy.pl);} this.author = new Geek("porneL");
orcus - 06-09-2006 01:36
Mon, 04 Sep 2006 22:15:39 +0200, Any User wrote:
> dobrze się w ten sposób natomiast omija firewalle, trzymając w bazie > pliki wykonywalne)
??? jak to? Nie rozumiem mowa o obrazkach wiec jake pliki wykonywalne. I jak to ma ominac zapore ogniowa(w tredycyjnym sensie wezmy na to iptables2) - co to ma do tego?
Mozesz rozwinac bo chyab cos mi umyka?
> oraz kwestie replikacyjne (ale tylko w specyficznych warunkach).
Tzn? Kompresowac mozesz na dysku. Mozesz tez trzymac w bazie dwa rekordy odnoszace sie do tej samej sciezki w filesystemie. Znowu Cie nie rozumiem?
A co do trzymania plikow w BD. Jest to zwykle wolniejsze niz filesystem a przy tym mozna latwo zajezdzic server BD.
Jedyne co IMHO mozna tym zdzialac to ominiecie quoty.
-- Pozdrawiam orcus
..: Jest 10 rodzajow ludzi: Ci ktorzy rozumieja zapis binarny i pozostali :.
Damian 'LegioN' Szuberski - 06-09-2006 01:36
On 2006-09-04, orcus wrote: > Jedyne co IMHO mozna tym zdzialac to ominiecie quoty. Tzn. w jaki sposób?
-- Damian Szuberski
sg - 06-09-2006 01:36
Any User napisał(a): >>> a dlaczego to ma być lepiej? >> Są zwolennicy trzymania obrazków w bazie i zwolennicy trzymania obrazków w >> plikach. Należę do tych drugich. > > Moim zdaniem, jedyne zalety trzymania obrazków w bazie to omijanie > ewentualnych ograniczeń narzuconych przez admina (ale to niekoniecznie dla > serwisu www i niekoniecznie dla obrazków - dobrze się w ten sposób natomiast > omija firewalle, trzymając w bazie pliki wykonywalne), oraz kwestie > replikacyjne (ale tylko w specyficznych warunkach). W pozostałych > przypadkach lepiej trzymać obrazki na dysku. > >
pozostaje jeszcze kwestia tranzakcyjnego dostępu do tych obrazków
sg - 06-09-2006 01:36
Damian 'LegioN' Szuberski napisał(a): > On 2006-09-04, orcus wrote: >> Jedyne co IMHO mozna tym zdzialac to ominiecie quoty. > Tzn. w jaki sposób? >
w taki, że nie da się założyć quoty na bazę :) na katalog użytkownika możesz, ale co zrobisz żeby użytkownikowi za pomocą quoty ograniczyć sumaryczną wielkość wszystkich baz do 100MB gdy w tym samym katalogu są trzymane bazy dla 10 użytkowników?
sg - 06-09-2006 01:36
porneL napisał(a): > On Mon, 04 Sep 2006 20:52:51 +0100, sawic <sawicc@wytnij.to.gmail.com> > wrote: > >> Pytanie chyba pasuje do TG. >> Chciałbym trzymać niewielkie obrazki, które użytkownicy mogli by sami >> wgrywać, w bazie mysql. >> Jakie zagrożenia są z tym związane ? >> Czy mogę taki obrazek po prostu potraktować mysql_real_escape_string() >> i by to wszystkie sprawy odnośnie bezpieczeństwa załatwiło ? > > tak. > > Natomiast IMHO do trzymania *plików* jest lepszy *system plików*, niż > baza danych, która i tak na nim siedzi. >
a co z tranzakcyjnością dostępu do plików?
orcus - 06-09-2006 01:36
Mon, 04 Sep 2006 20:48:35 +0000, Damian 'LegioN' Szuberski wrote:
> On 2006-09-04, orcus wrote: >> Jedyne co IMHO mozna tym zdzialac to ominiecie quoty. > Tzn. w jaki sposób?
Czasem na serverach amsz quote na przestrzen zalozona a na baze masz tylko ograniczenie "ilosciowe" znaczy mozesz do niej wpakowac ile chcesz.
-- Pozdrawiam orcus
..: Jest 10 rodzajow ludzi: Ci ktorzy rozumieja zapis binarny i pozostali :.
perszing - 06-09-2006 01:36
sawic napisał(a): > Witam. > Pytanie chyba pasuje do TG. > Chciałbym trzymać niewielkie obrazki, które użytkownicy mogli by sami > wgrywać, w bazie mysql. > Jakie zagrożenia są z tym związane ? > Czy mogę taki obrazek po prostu potraktować mysql_real_escape_string() i > by to wszystkie sprawy odnośnie bezpieczeństwa załatwiło ?
Tak jak ktos wczesniej pisal. W bazie to mozesz trzymac, ale nazwe pliku i ewentualnie sciezke do niego. Jak pliki maja byc jakos posortowane to zawsze mozesz je umiescic w katalogach tematycznych.
-- :> www.ogloszeniadrobne.warszawa.pl ::> www.ogloszeniadrobne.rzeszow.pl :> www.ogloszenia.nowy-sacz.pl ::> www.ogloszenia.przemysl.pl
orcus - 06-09-2006 01:36
Mon, 04 Sep 2006 23:01:47 +0200, sg wrote:
>> Natomiast IMHO do trzymania *plików* jest lepszy *system plików*, niż >> baza danych, która i tak na nim siedzi. >> > a co z tranzakcyjnością dostępu do plików?
a do czego Ci mechanizm tran_s_akcji przy zapisie do plikow?
Mozna go po czesci zrealizowac poprzez utworznie pliku tymczasowego.
-- Pozdrawiam orcus
..: Jest 10 rodzajow ludzi: Ci ktorzy rozumieja zapis binarny i pozostali :.
sg - 06-09-2006 01:36
orcus napisał(a): > Mon, 04 Sep 2006 23:01:47 +0200, sg wrote: > >>> Natomiast IMHO do trzymania *plików* jest lepszy *system plików*,niż >>> baza danych, która i tak na nim siedzi. >>> >> a co z tranzakcyjnością dostępu do plików? > > a do czego Ci mechanizm tran_s_akcji przy zapisie do plikow? > > Mozna go po czesci zrealizowac poprzez utworznie pliku tymczasowego. >
do tego do czego służą transakcje, czyli mam 100 użytkowników, którzy jednocześnie ładują mi zdjęcia do bazy i dodatkowo 100 innych zmienia zdjęcia, które tam już są. Wystarczy?
sg - 06-09-2006 01:36
perszing napisał(a): > sawic napisał(a): >> Witam. >> Pytanie chyba pasuje do TG. >> Chciałbym trzymać niewielkie obrazki, które użytkownicy mogli by sami >> wgrywać, w bazie mysql. >> Jakie zagrożenia są z tym związane ? >> Czy mogę taki obrazek po prostu potraktować mysql_real_escape_string() >> i by to wszystkie sprawy odnośnie bezpieczeństwa załatwiło ? > > Tak jak ktos wczesniej pisal. W bazie to mozesz trzymac, ale nazwe pliku > i ewentualnie sciezke do niego. Jak pliki maja byc jakos posortowane to > zawsze mozesz je umiescic w katalogach tematycznych. >
etam, bez sensu, bo to narzuca od razu że zdjęcie może być połączone tylko z jednym tematem/kategorią
porneL - 06-09-2006 01:36
On Mon, 04 Sep 2006 22:27:49 +0100, sg <alpha@skynet.org.pl_WITHOUT> wrote:
> etam, bez sensu, bo to narzuca od razu że zdjęcie może być połączone > tylko z jednym tematem/kategorią
To nic nie narzuca - to jest tylko sposób składowania. Trzymaj metadane zdjęć w bazie, a ich bebechy np. pod nazwą pliku z id rzędu.
> do tego do czego służą transakcje, czyli mam 100 użytkowników, którzy > jednocześnie ładują mi zdjęcia do bazy i dodatkowo 100 innych zmienia > zdjęcia, które tam już są. Wystarczy?
Do tego nie potrzeba ACIDowej bazy. Każdy operuje na swoim pliku.
Jeśli mają być bardzo bardzo współdzielone, to możesz robić lock na systemie plików, w bazie albo użyć rename, które jest 'atomową' operacją. Możesz też przypisać plikom nazwy wg md5($trescpliku) - wtedy nie da się zrobić konfliktu.
-- * html {redirect-to: url(http://kurs.browsehappy.pl);} this.author = new Geek("porneL");
Any User - 06-09-2006 01:36
> jak to? Nie rozumiem mowa o obrazkach wiec jake pliki wykonywalne. I jak > to ma ominac zapore ogniowa(w tredycyjnym sensie wezmy na to iptables2) - > co to ma do tego? > > Mozesz rozwinac bo chyab cos mi umyka?
Oj, chodziło mi po prostu o to, że trzymając pliki w bazie możesz w pewnych sytuacjach unikać tworzenia dodatkowego połączenia i wszystko przepychać przez połączenie bazodanowe. Jeśli admin/firma/szkoła/polityka bezpieczeństwa/cokolwiek nakłada na Ciebie jakiekolwiek ograniczenia, np. dostępu skądś do czegoś, to możesz je ominąć, trzymając pliki w bazie.
>> oraz kwestie replikacyjne (ale tylko w specyficznych warunkach). > > Tzn? Kompresowac mozesz na dysku. Mozesz tez trzymac w bazie dwa rekordy > odnoszace sie do tej samej sciezki w filesystemie. Znowu Cie nie rozumiem?
W sytuacji, gdy masz mocną maszynę z bazą danych, a słabo wydajne klienty, do tego wiele klientów, które z tych obrazków korzystają, to lepiej jest umieścić obrazki w jednej bazie, niż bawić się w rozwiązania do replikacji plików.
Damian 'LegioN' Szuberski - 06-09-2006 01:36
On 2006-09-04, orcus wrote: >>> Jedyne co IMHO mozna tym zdzialac to ominiecie quoty. >> Tzn. w jaki sposób? > Czasem na serverach amsz quote na przestrzen zalozona a na baze masz tylko > ograniczenie "ilosciowe" znaczy mozesz do niej wpakowac ile chcesz. Hah! Prawda! O ile mi wiadomo np. MySQL sam z siebie nie oferuje quoty, ale od czego jest administrator bazy/systemu? Napisać skrypt, który po przekroczeniu pewniej ilości danych np. odGRANTuje prawa do zapisu w bazie.
-- Damian Szuberski
szomiz - 06-09-2006 01:37
Użytkownik "sg" <alpha@skynet.org.pl_WITHOUT> napisał w wiadomości news:edi4c0$nsq$2@inews.gazeta.pl...
> a co z tranzakcyjnością dostępu do plików?
A czym sie rozni transakcja z (unikalnym) identyfikatorem pliku a caloscia pliku w bazie (poza predkoscia)?
-- --- -- --- -- --- sz & http://szomiz.republika.pl/dod/draco/
perszing - 06-09-2006 01:37
sg napisał(a):
> etam, bez sensu, bo to narzuca od razu że zdjęcie może być połączone > tylko z jednym tematem/kategorią
Czepiasz sie. Wszystko zalezy od szczegolow, a zdjecie mozesz dac do katalogu zdjecia, a nie np ramka_strony :P
-- :> www.ogloszeniadrobne.warszawa.pl ::> www.ogloszeniadrobne.rzeszow.pl :> www.ogloszenia.nowy-sacz.pl ::> www.ogloszenia.przemysl.pl
sg - 06-09-2006 01:37
porneL napisał(a): > On Mon, 04 Sep 2006 22:27:49 +0100, sg <alpha@skynet.org.pl_WITHOUT> wrote: > > Jeśli mają być bardzo bardzo współdzielone, to możesz robićlock na > systemie plików, w bazie albo użyć rename, które jest 'atomową'
etam, a co jeśli ktoś otwiera transakcję, siedzi w niej 10 minut i ma widzieć bazę sprzed transakcji i w tym czasie ktoś zmienia obrazki?
> operacją. Możesz też przypisać plikom nazwy wg md5($trescpliku)- wtedy > nie da się zrobić konfliktu. > nie, wtedy może się okazać, że mam 2 pliki o tej samej nazwie, bomd5 bezkolizyjne nie jest. Ostatecznie można jeszcze zrobić coś co napisałem sobie kiedyś do Firebirda jak UDF, operujesz normalnie na bazie, wrzucasz zapytanie o obrazek, metadane są w bazie, ale obrazek jest za pomocą udfa jest zapisywany/ładowany z dysku.
sg - 06-09-2006 01:37
szomiz napisał(a): > Użytkownik "sg" <alpha@skynet.org.pl_WITHOUT> napisał w wiadomości > news:edi4c0$nsq$2@inews.gazeta.pl... > >> a co z tranzakcyjnością dostępu do plików? > > A czym sie rozni transakcja z (unikalnym) identyfikatorem pliku a caloscia > pliku w bazie (poza predkoscia)? >
a jak to ma niby działać? każda wersja pliku ma swój unikalny numer? przecież możesz mieć w jednym momencie trzy różne wersje tego samego pliku, jak to zrobisz?
sg - 06-09-2006 01:37
perszing napisał(a): > sg napisał(a): > >> etam, bez sensu, bo to narzuca od razu że zdjęcie może być połączone >> tylko z jednym tematem/kategorią > > Czepiasz sie. Wszystko zalezy od szczegolow, a zdjecie mozesz dac do > katalogu zdjecia, a nie np ramka_strony :P >
tak, ale wtedy ten Twój pomysł z katalogami tematycznymi siada
glosnetu - 06-09-2006 01:37
Any User napisał(a): > Oj, chodziło mi po prostu o to, że trzymając pliki w bazie możeszw pewnych > sytuacjach unikać tworzenia dodatkowego połączenia i wszystko przepychać > przez połączenie bazodanowe.
zarzynajac serwer z baza danych n-set razy wiekszym transferem.
> > Tzn? Kompresowac mozesz na dysku. Mozesz tez trzymac w bazie dwa rekordy > > odnoszace sie do tej samej sciezki w filesystemie. Znowu Cie nie rozumiem? > > W sytuacji, gdy masz mocną maszynę z bazą danych, a słabo wydajneklienty, > do tego wiele klientów, które z tych obrazków korzystają, to lepiej jest > umieścić obrazki w jednej bazie, niż bawić się w rozwiązania do replikacji > plików.
Klienci korzystaja z obrazkow = pobieraja je. To co Ty wlasciwie chcesz replikowac, na czym i po co?
--
glos
orcus - 06-09-2006 01:37
Mon, 04 Sep 2006 23:27:49 +0200, sg wrote:
> do tego do czego służą transakcje, czyli mam 100 użytkowników, > którzy jednocześnie ładują mi zdjęcia do bazy i dodatkowo 100 innych > zmienia zdjęcia, które tam już są. Wystarczy?
mysqle ze flocki tu sie sprawdza(o ile system odpwiedni)
Ewentualnie przeciez zawsze moza zaimplementowac swoj mechanizm operujacy na plikach tymczasowych i jedynie na koniec zmieniajacy dane w BD - nawet nazwy pliku na dysku nie trzeba zmieniac. Do tego jakis GC ktory usunie to czego nie ma w BD i juz prawie jak transakcje.
Jak by dolozyc do tego tabele tymczasowa gdzie trzymac bedziesz pliki na kotrych uzytkownicy akurat operuja to wszystko z ACID moze byc spelnione lacznie z izolacja.
-- Pozdrawiam orcus
..: Jest 10 rodzajow ludzi: Ci ktorzy rozumieja zapis binarny i pozostali :.
orcus - 06-09-2006 01:37
Tue, 05 Sep 2006 00:15:56 +0200, Any User wrote:
> Oj, chodziło mi po prostu o to, że trzymając pliki w bazie możesz w > pewnych sytuacjach unikać tworzenia dodatkowego połączenia i wszystko > przepychać przez połączenie bazodanowe.
Zaraz zaraz - mowimy o serwisach webowych. Jak tworzysz taki serwis i obrazki sa Twoje to Ty decydujesz gdzie sie znajda i raczej nie bedziesz mial problemow z dostepem do nich. Dalej nie rozumem.
> W sytuacji, gdy masz mocną maszynę z bazą danych, a słabo wydajne > klienty, do tego wiele klientów, które z tych obrazków korzystają, to > lepiej jest umieścić obrazki w jednej bazie, niż bawić się w > rozwiązania do replikacji plików.
eh... a nie moge na serverze2 zwyczajnie hotlinkowac obrazkow z servera1? Bo szybicej wybralbym wlasnie takie rozwiazanie.
-- Pozdrawiam orcus
..: Jest 10 rodzajow ludzi: Ci ktorzy rozumieja zapis binarny i pozostali :.
orcus - 06-09-2006 01:37
Mon, 04 Sep 2006 22:29:55 +0000, Damian 'LegioN' Szuberski wrote:
> Hah! Prawda! O ile mi wiadomo np. MySQL sam z siebie nie oferuje quoty, > ale od czego jest administrator bazy/systemu? Napisać skrypt, który po > przekroczeniu pewniej ilości danych np. odGRANTuje prawa do zapisu w > bazie.
ale nie chodzi o to co adinistratorzy mog robic tylko co robia.
-- Pozdrawiam orcus
..: Jest 10 rodzajow ludzi: Ci ktorzy rozumieja zapis binarny i pozostali :.
Artur Muszynski - 06-09-2006 01:38
>> operacją. Możesz też przypisać plikom nazwy wg md5($trescpliku) - >> wtedy nie da się zrobić konfliktu. >> > nie, wtedy może się okazać, że mam 2 pliki o tej samej nazwie, bo md5 > bezkolizyjne nie jest.
Teoretycznie. Tutaj była mowa o plikach tymczasowych, więc prawdopodobieństwo kolizjii spada praktycznie do zera.
artur
rachwal - 06-09-2006 01:38
sg wrote: > w taki, że nie da się założyć quoty na bazę :) (...)
Nie ? A ta BAZA to niby gdzie sie znajduje ? Nie na dysku ? ;>
-- pozd RO
sg - 06-09-2006 01:38
Artur Muszynski napisał(a): >>> operacją. Możesz też przypisać plikom nazwy wg md5($trescpliku) - >>> wtedy nie da się zrobić konfliktu. >>> >> nie, wtedy może się okazać, że mam 2 pliki o tej samej nazwie,bo md5 >> bezkolizyjne nie jest. > > Teoretycznie. Tutaj była mowa o plikach tymczasowych, więc > prawdopodobieństwo kolizjii spada praktycznie do zera. > > artur >
rozwala mnie jak ktoś tak ważne rzeczy sprowadza do prawdopodobieństwa... a jak tak to mnie oświeć czy zamierzasz wprowadzać specjalne procedury na wypadek kolizji czy nie i liczysz na szczęście, że może się uda? A co jeśli się nie uda?
sg - 06-09-2006 01:38
orcus napisał(a): > Mon, 04 Sep 2006 23:27:49 +0200, sg wrote: > >> do tego do czego służą transakcje, czyli mam 100 użytkowników, >> którzy jednocześnie ładują mi zdjęcia do bazy i dodatkowo 100 innych >> zmienia zdjęcia, które tam już są. Wystarczy? > > mysqle ze flocki tu sie sprawdza(o ile system odpwiedni) >
bez sensu
> Ewentualnie przeciez zawsze moza zaimplementowac swoj mechanizm operujacy > na plikach tymczasowych i jedynie na koniec zmieniajacy dane w BD - nawet > nazwy pliku na dysku nie trzeba zmieniac. Do tego jakis GC ktory usunieto > czego nie ma w BD i juz prawie jak transakcje. >
j.w.
> Jak by dolozyc do tego tabele tymczasowa gdzie trzymac bedziesz pliki na > kotrych uzytkownicy akurat operuja to wszystko z ACID moze byc spelnione > lacznie z izolacja. >
To nie tak. Nie chodzi o to żeby blokować dostęp do obrazków jak tylko ktoś je zmienia. Chodzi o to żeby można było obsłużyć transakcje w momencie gdy jedna z nich robi raport, a 10 innych zmienia obrazki. W tym momencie pierwsza transakcja ma snapshot bazy z momentu rozpoczęcia transakcji (jak też 10 innych). Czyli dla każdej transakcji każdy obrazek może mieć swoją wersję, albo kilka wersji. Jak to rozwiążesz flockami?
sg - 06-09-2006 01:38
rachwal napisał(a): > sg wrote: >> w taki, że nie da się założyć quoty na bazę :) (...) > > Nie ? A ta BAZA to niby gdzie sie znajduje ? Nie na dysku ? ;> > >
dobra, 1. napisz jak działa quota 2. napisz jak i gdzie baza trzyma dane na dysku
Artur Muszynski - 06-09-2006 01:38
> rozwala mnie jak ktoś tak ważne rzeczy sprowadza do > prawdopodobieństwa... a jak tak to mnie oświeć czy zamierzasz > wprowadzać specjalne procedury na wypadek kolizji czy nie i liczysz > na szczęście, że może się uda? A co jeśli się nie uda?
Tak, liczę. I prędzej meteoryt spadnie na mój blok, niż się zawiodę.
artur
sg - 06-09-2006 01:38
Artur Muszynski napisał(a): >> rozwala mnie jak ktoś tak ważne rzeczy sprowadza do >> prawdopodobieństwa... a jak tak to mnie oświeć czy zamierzasz >> wprowadzać specjalne procedury na wypadek kolizji czy nie i liczysz >> na szczęście, że może się uda? A co jeśli się nie uda? > > Tak, liczę. I prędzej meteoryt spadnie na mój blok, niż się zawiodę. > > artur >
uwielbiam takie podejście, a potem traci się klientów, bo nagle coś ważnego zgineło
szomiz - 06-09-2006 01:38
Użytkownik "sg" <alpha@skynet.org.pl_WITHOUT> napisał w wiadomości news:edj8sb$bc1$2@inews.gazeta.pl...
> przecież możesz mieć w jednym momencie trzy różne wersje tego samego > pliku, jak to zrobisz?
A "normalne" rekordy tez miewaja swoje wersje?
EOT
sz.
sg - 06-09-2006 01:38
szomiz napisał(a): > Użytkownik "sg" <alpha@skynet.org.pl_WITHOUT> napisał w wiadomości > news:edj8sb$bc1$2@inews.gazeta.pl... > >> przecież możesz mieć w jednym momencie trzy różne wersje tego samego >> pliku, jak to zrobisz? > > A "normalne" rekordy tez miewaja swoje wersje? >
tak, normalne rekordy mają swoje wersje
szomiz - 06-09-2006 01:38
Użytkownik "sg" <alpha@skynet.org.pl_WITHOUT> napisał w wiadomości news:edjfso$bqd$1@inews.gazeta.pl...
> tak, normalne rekordy mają swoje wersje
No to co za problem, zeby obrazki tez mialy?
EOT (po raz drugi)
sz.
porneL - 06-09-2006 01:38
>> operacją. Możesz też przypisać plikom nazwy wg md5($trescpliku) - wtedy >> nie da się zrobić konfliktu. >> > nie, wtedy może się okazać, że mam 2 pliki o tej samej nazwie, bo md5 > bezkolizyjne nie jest.
Dzięki znalezieniu kolizji, i to na sensownych danych, możesz stać się bogaty... chociaż MD5 już się trochę zdewaluowało. Jak chcesz podnieść stawkę, to użyj SHA-2 ;D
-- this.author = new Geek("porneL");
sg - 06-09-2006 01:38
porneL napisał(a): > >>> operacją. Możesz też przypisać plikom nazwy wg md5($trescpliku) - >>> wtedy nie da się zrobić konfliktu. >>> >> nie, wtedy może się okazać, że mam 2 pliki o tej samej nazwie,bo md5 >> bezkolizyjne nie jest. > > Dzięki znalezieniu kolizji, i to na sensownych danych, możesz staćsię > bogaty... chociaż MD5 już się trochę zdewaluowało. Jak chceszpodnieść > stawkę, to użyj SHA-2 ;D >
to w taki razie zgadzasz się na takie rozwiązanie, że w banku twój login jest trzymany jako md5(login) i któregoś dnia okazuje się, że ktoś się zalogował na twoje konto?
porneL - 06-09-2006 01:38
On Tue, 05 Sep 2006 11:41:24 +0100, sg <alpha@skynet.org.pl_WITHOUT> wrote:
> to w taki razie zgadzasz się na takie rozwiązanie, że w banku twój login > jest trzymany jako md5(login) i któregoś dnia okazuje się, że ktoś się > zalogował na twoje konto?
Tak, bo wiem jak znikome jest tego prawdopodobieństwo. Statystycznie łatwiej o UFO teleportujące mój bank do innego wymiaru ;)
-- * html {redirect-to: url(http://kurs.browsehappy.pl);} this.author = new Geek("porneL");
sg - 06-09-2006 01:38
porneL napisał(a): > On Tue, 05 Sep 2006 11:41:24 +0100, sg <alpha@skynet.org.pl_WITHOUT> wrote: > >> to w taki razie zgadzasz się na takie rozwiązanie, że w banku twój >> login jest trzymany jako md5(login) i któregoś dnia okazuje się,że >> ktoś się zalogował na twoje konto? > > Tak, bo wiem jak znikome jest tego prawdopodobieństwo. Statystycznie > łatwiej o UFO teleportujące mój bank do innego wymiaru ;) >
dziwne masz podejście do bezpieczeństwa aplikacji. Ale oczywiście jak robisz projekt aplikacji (o ile robisz takie projekty) to nie piszesz w nich rzeczy w stylu: Projekt przewiduje, że czasem aplikacja będzie źle działać i to nie z przyczyn zewnętrznych, ale dlatego, że tak jest napisana, jednakże prawdopodobieństwo tego jest małe. Jak dla mnie to albo to działa dobrze, albo jest do dupy. Jeśli zakładasz, że czasem może nie działać znaczy że nie działa to dobrze.
orcus - 06-09-2006 01:38
Tue, 05 Sep 2006 10:21:24 +0200, sg wrote:
> bez sensu
bo? wytlumacz.
> j.w.
j.w.
>> Jak by dolozyc do tego tabele tymczasowa gdzie trzymac bedziesz pliki na >> kotrych uzytkownicy akurat operuja to wszystko z ACID moze byc spelnione >> lacznie z izolacja. >> >> > To nie tak. Nie chodzi o to żeby blokować dostęp do obrazków jak tylko > ktoś je zmienia. Chodzi o to żeby można było obsłużyć transakcje w > momencie gdy jedna z nich robi raport, a 10 innych zmienia obrazki. W tym > momencie pierwsza transakcja ma snapshot bazy z momentu rozpoczęcia > transakcji (jak też 10 innych). Czyli dla każdej transakcji każdy > obrazek może mieć swoją wersję, albo kilka wersji. Jak to rozwiążesz > flockami?
po pierwsze - po co Ci taki mechanizm? po drugie tki mechanizm spokonie mozesz zaimplementowac dodajac jedna tabele gdzie bedzie przechowywal nazwy tymczasowych plikow i po zatwierdzeniu dopiero usuwal z niej dane.
Dopoki nie zatwierdzisz zmian w glownej tabeli sa tam stare dane. Nawet gdy 100 osob wprowadza zamiany. Gdzie widziasz roznice? Izolacja danych tez ma swoje poziomy i rzadko kiedy potrebna jest na najwyzszym poziomie. Jesli bedzie przeciez mozna to latwo rozwiazac. Wystarczy uzyc transakcji w BD + flock na pliki ktore mialyby zostac usuniete przy nadpisywaniu BD.
Ja nie mowie o zastosowaniu tylk flcokow, tylko plikow i tabel tymczasowych czy tylko transakcji w BD.
Mowie ze to wszystko mozna polaczyc wyciagajac maksimum mozliwosci.
-- Pozdrawiam orcus
..: Jest 10 rodzajow ludzi: Ci ktorzy rozumieja zapis binarny i pozostali :.
Any User - 06-09-2006 01:38
> dziwne masz podejście do bezpieczeństwa aplikacji. Ale oczywiście jak > robisz projekt aplikacji (o ile robisz takie projekty) to nie piszesz w > nich rzeczy w stylu: Projekt przewiduje, że czasem aplikacja będzie źle > działać i to nie z przyczyn zewnętrznych, ale dlatego, że tak jest > napisana, jednakże prawdopodobieństwo tego jest małe. > Jak dla mnie to albo to działa dobrze, albo jest do dupy. Jeśli zakładasz, > że czasem może nie działać znaczy że nie działa to dobrze.
Mogę Cię zapewnić, że w pewnej bardzo dużej firmie, której nazwę na pewno znasz, robi się dokładnie tak samo. I w kilku innych, które znam od środka z tego lub innego powodu.
Powód: przy rozsądnie niskim prawdopodobieństwie wystąpienia błędu i nawet szkody finansowej, korzystniej jest zaryzykować nawet pokrycie tej szkody, niż każdorazowo płacić programistom za podejście "rock-solid".
sg - 06-09-2006 01:39
Any User napisał(a): >> dziwne masz podejście do bezpieczeństwa aplikacji. Ale oczywiście jak >> robisz projekt aplikacji (o ile robisz takie projekty) to nie piszesz w >> nich rzeczy w stylu: Projekt przewiduje, że czasem aplikacja będzie źle >> działać i to nie z przyczyn zewnętrznych, ale dlatego, że tak jest >> napisana, jednakże prawdopodobieństwo tego jest małe. >> Jak dla mnie to albo to działa dobrze, albo jest do dupy. Jeśli zakładasz, >> że czasem może nie działać znaczy że nie działa to dobrze. > > Mogę Cię zapewnić, że w pewnej bardzo dużej firmie, której nazwę na pewno > znasz, robi się dokładnie tak samo. I w kilku innych, które znam od środka z > tego lub innego powodu. > > Powód: przy rozsądnie niskim prawdopodobieństwie wystąpienia błędu i nawet > szkody finansowej, korzystniej jest zaryzykować nawet pokrycie tej szkody, > niż każdorazowo płacić programistom za podejście "rock-solid". >
Masz rację, ale z pewnym zastrzeżeniem: bardzo często to jest tylko wymówka programistów, którzy nie znają się na rzeczy i nie chceim się czegoś zrobić dobrze, a w większości takich przypadków zrobienie tego dobrze jest tak samo złożone i pracownikożerne jak zrobienie tego źle.
szomiz - 06-09-2006 01:39
Użytkownik "sg" <alpha@skynet.org.pl_WITHOUT> napisał w wiadomości news:edjrvl$78r$1@inews.gazeta.pl...
> Masz rację, ale z pewnym zastrzeżeniem: bardzo często to jest tylko > wymówka programistów, którzy nie znają się na rzeczy i nie chce im się > czegoś zrobić dobrze, a w większości takich przypadków zrobienie tego > dobrze jest tak samo złożone i pracownikożerne jak zrobienie tego źle.
A ci, ktorym sie chce, tworza systemy odporne na wszystko.
Ze szczegolnym uwzglednieniem odpornosci na wydajne dzialanie w przypadach oczywiscie poprawnych...
sz.
sg - 06-09-2006 01:39
szomiz napisał(a): > Użytkownik "sg" <alpha@skynet.org.pl_WITHOUT> napisał w wiadomości > news:edjrvl$78r$1@inews.gazeta.pl... > >> Masz rację, ale z pewnym zastrzeżeniem: bardzo często to jest tylko >> wymówka programistów, którzy nie znają się na rzeczy i nie chce im się >> czegoś zrobić dobrze, a w większości takich przypadków zrobienie tego >> dobrze jest tak samo złożone i pracownikożerne jak zrobienie tego źle. > > A ci, ktorym sie chce, tworza systemy odporne na wszystko. > > Ze szczegolnym uwzglednieniem odpornosci na wydajne dzialanie w przypadach > oczywiscie poprawnych... > > sz. > > no jasne, lepiej nie przejmować się tym, nie robić projektów uwzględniających poprawne działanie, a potem powstaje osCommerce
Any User - 06-09-2006 01:39
> Masz rację, ale z pewnym zastrzeżeniem: bardzo często to jest tylko > wymówka programistów, którzy nie znają się na rzeczy i nie chce im się > czegoś zrobić dobrze, a w większości takich przypadków zrobienie tego > dobrze jest tak samo złożone i pracownikożerne jak zrobienie tego źle.
We _wszystkich_ przypadkach, o których mogę osobiście coś powiedzieć, jest to nakaz z góry. W przypadku mojej bieżącej firmy, od prezesa.
Natomiast w dwóch przypadkach programiści zgłaszali wręcz opór, aby robić coś dobrze, a nie szybko, ale ekonomia wygrywała.
porneL - 06-09-2006 01:39
On Tue, 05 Sep 2006 13:10:05 +0100, sg <alpha@skynet.org.pl_WITHOUT> wrote:
>>> to w taki razie zgadzasz się na takie rozwiązanie, że w banku twój >>> login jest trzymany jako md5(login) i któregoś dnia okazuje się, że >>> ktoś się zalogował na twoje konto? >> Tak, bo wiem jak znikome jest tego prawdopodobieństwo. Statystycznie >> łatwiej o UFO teleportujące mój bank do innego wymiaru ;) > > dziwne masz podejście do bezpieczeństwa aplikacji. Ale oczywiście jak > robisz projekt aplikacji (o ile robisz takie projekty) to nie piszesz w > nich rzeczy w stylu: Projekt przewiduje, że czasem aplikacja będzie źle > działać i to nie z przyczyn zewnętrznych, ale dlatego, że tak jest > napisana, jednakże prawdopodobieństwo tego jest małe.
W takim razie na pewno nie korzystasz z bankowości internetowej, bo autorzy SSL mieli dokładnie takie dziwne podejście do bezpieczeństwa aplikacji. TCP/IP musisz szczególnie nie lubić, bo bezpieczeństwo danych chronione jest zaledwie 16 bitową sumą kontrolną (która koliduje jak szalona).
> Jak dla mnie to albo to działa dobrze, albo jest do dupy.
Jak ktoś sobie dłubie amatorsko, to może spędzać wszystkie wieczory na robieniu kuloodpornego kodu. Gdy mam budżet i termin, to na pewno nie napiszę, że potrzebuję poświęcić dodatkowy czas na napisanie kodu, który skomplikuje aplikację, może obniżyć wydajność, ale zapobiegnie problemowi występującemu raz na 18446744073709551616 przypadków.
> Jeśli zakładasz, że czasem może nie działać znaczy że nie działa to > dobrze.
Wystarczy mi 99.999999999% Eh, w tym kraju już kompletnie zapomniano o tolerancji... ;)
-- * html {redirect-to: url(http://kurs.browsehappy.pl);} this.author = new Geek("porneL");
orcus - 06-09-2006 01:39
Tue, 05 Sep 2006 14:41:45 +0100, porneL wrote:
> Jak ktoś sobie dłubie amatorsko, to może spędzać wszystkie wieczory > na robieniu kuloodpornego kodu. Gdy mam budżet i termin, to na pewno > nie napiszę, że potrzebuję poświęcić dodatkowy czas na napisanie > kodu, który skomplikuje aplikację, może obniżyć wydajność, ale > zapobiegnie problemowi występującemu raz na 18446744073709551616 > przypadków.
wiesz ale mowimy o prostych rzeczach ktore robie sie dotknieciem. do $file = $path.'/'.md5($costam); while(file_exist($file))
i to tak znaczoaco obniza wydajnosc czy wydlzua czas pisania kodu? o takich zabiegach mowimy.
> Wystarczy mi 99.999999999% > Eh, w tym kraju już kompletnie zapomniano o tolerancji... ;)
Rachunek prawdopodobienstwa... Po pierwsze nikt nie jest pewny aplikacji w 95% nawet, bo nikt sam wszystkiego nie pisze(od PHP, MySQLa zaczynajac na systemie operacyjnym konczac) i zadko kiedy mamy dedykowane servery do dyspzycji. Teraz obliczmy prawdopodobienstwo ze _cokolwiek_ nawali w _naszej_aplikacji_ i okazuje sie ze aplikacja na prawde jest wadliwa.
Mimo wszystko ja wszedzie gdzie wiem ze moze byc dziura staram sie ja latac.
Poza tym jestem szczesliwym posiadaczem AUDI 5000 w ktorym nawet jak sie zarowka przepali to od razu sgnalizuje, nie mowiac o sprawach majacych wplyw na bezpieczenstwo. A teraz co robia? Gdzies maja to wszystko - w ktorym samochodzie poczujesz sie pewniej? A ludzie zabijali sie we wszystkich typach samochodow. Mimo wszystko jednak wole moje AUDI. Latwo mozna sprawe przniesc na aplikacje webowe.
-- Pozdrawiam orcus
..: Jest 10 rodzajow ludzi: Ci ktorzy rozumieja zapis binarny i pozostali :.
perszing - 06-09-2006 01:39
sg napisał(a):
> > tak, ale wtedy ten Twój pomysł z katalogami tematycznymi siada >
Ale jak zdjecie bedzie przyporzadkowane zawsze do jednego typu to moj pomysl jest dobry.
-- :> www.ogloszeniadrobne.warszawa.pl ::> www.ogloszeniadrobne.rzeszow.pl :> www.ogloszenia.nowy-sacz.pl ::> www.ogloszenia.przemysl.pP
szomiz - 06-09-2006 01:39
Użytkownik "sg" <alpha@skynet.org.pl_WITHOUT> napisał w wiadomości news:edjsen$9h0$1@inews.gazeta.pl...
> no jasne, lepiej nie przejmować się tym, nie robić projektów > uwzględniających poprawne działanie, a potem powstaje osCommerce
Jakby zrobienie projektu bylo wystarczajace do w pelni poprawnego dzialania aplikacji to nie trzeba by sie bylo zabezpieczac przed sytacjami niepozadanymi :-P
sz.
RaymondFairhurst - 12-07-2007 13:48
Just Cleaning Myself
I'm Ray I am from Untied states Check out these sites!
index33.html index34.html index35.html index36.html index37.html index38.html index3.html index3.html index3.html index3.html
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?=
=?ISO-8859-2?Q?=5BOT=5D_Jestem_w_Krakowie_w_dniach_1?==?ISO-8859-2?Q?7=2E07-20=2E07_-_jakie=B6_spotkanko=3F?=
=?ISO-8859-2?Q?b=B3=B1d_w_bazie=2C_nie_wiem_od_czego?==?ISO-8859-2?Q?_zaczac_szukanie?=
[MySQL] Jakie kodowanie aby =?ISO-8859-2?Q?by=B3y_i_pl_ogo?==?ISO-8859-2?Q?nki_i_o_z_dwoma_kropkami_nad_nim_=3F_=3B?==?IS O-8859-2?Q?=29?=
[MySQL] Problem z zapisem danych w bazie danych
[oracle] [xml] XML na bazie istniejacej struktury ?
Problem z funkcja mysql_real_escape_string() na bazie mysql
[IB] Dialect 1 i Dialect 3 -> jakie sa roznice
[Oracle] Jakie znacie narzędzia do Oracle?
=?iso-8859-2?Q?jak_zamieni=E6_dane_w_bazie_MS_access?=
zanotowane.pldoc.pisz.plpdf.pisz.plmarcelq.xlx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|