Autor | Zpráva | ||
---|---|---|---|
fuckin Profil |
#1 · Zasláno: 10. 11. 2009, 16:30:08
Pěkné odpoledne,
Vytvářím registrací uživatelů a jako ukládací médium jsem si zvolil soubory. Mám 2 nápady jak to provést: 1. Všechny uživatele ukládat do jednoho souboru, přičemž při změně různých políček to budu muset celé překopat (a to díky již předem dané struktuře, které se musím striktně držet). To je dle mého názoru špatná cesta, proto se přikláním k možnosti číslo 2. 2. 1 uživatel = 1 soubor. Přeci jenom jedná se o sekvenční čtení. Proto u mě vyhrála tato možnost. Dále mám otázečku jak nejlépe zabezpečit tyto soubory? Mé nápady: - Název souboru bude mět hodnotu base64_encode(JMENO_UZIVATELE).(libovolná přípona (krom txt aby se to netvářilo, že na první pohled je to MIME TYPE text)) - v souboru budou jednotlivé data o uživateli zakódována nějakou zpětnou šifrou (heslo v sha1) a oddělena středníkem pro jednoduché čtení přes explode() - v adresáři s těmito soubory bude .htaccess s deny from all Je můj přístup k tomuto projektu správný? Prosím neříkejte mně abych využil databázi, děkuji. A ještě jestli někdo má zkušenosti s obousměrnýma šiframa může mně nějakou poradit. Díky moc. |
||
panther Profil |
#2 · Zasláno: 10. 11. 2009, 16:48:15
fuckin:
„a jako ukládací médium jsem si zvolil soubory.“ já bych viděl chybu už tady. Proč ne databáze? |
||
Radek9 Profil |
#3 · Zasláno: 10. 11. 2009, 17:03:02 · Upravil/a: Radek9
fuckin:
„2. 1 uživatel = 1 soubor.“ Ano. „Mé nápady:“ - Šifrování atd. je zbytečnost. - Heslo samoszřejmě hashovat. - Odděloval bych něčím jiným než středníkem. - Příponu doporučuji php a data ukládat jako php poznámku. Například: <?php /*<+++++>něco<+++++>další<+++++>atd.<+++++>*/ ?> „Je můj přístup k tomuto projektu správný?“ Ano. „Prosím neříkejte mně abych využil databázi“ Nebudu, protože taky rád (když to jde) použiji soubory. panther: „já bych viděl chybu už tady. Proč ne databáze?“ A proč ano? |
||
fuckin Profil |
#4 · Zasláno: 10. 11. 2009, 17:04:45
Cetl sis to cele? Jasne sem poprosil aby jste si tuto pripominku odpustili.
Lepe se to prodava, diky jednoduchosti instalace. Je to proste pevne dane ,nereste to. |
||
Akacko Profil |
#5 · Zasláno: 10. 11. 2009, 17:04:50
Radek9:
Rychlejsi a jednodussi zpracovani? Lepsi zabezpeceni? Jednodussi zalohovani? |
||
fuckin Profil |
#6 · Zasláno: 10. 11. 2009, 17:07:53
Radek9:
Diky za professionalni pristup. Muzes me jeste vysvetlit jak ty data z toho php souboru mam efektivne cist kdyz to bude v komentarich? |
||
Joker Profil |
#7 · Zasláno: 10. 11. 2009, 17:10:34 · Upravil/a: Joker
fuckin:
„Prosím neříkejte mně abych využil databázi, děkuji.“ Je nějaký závažný důvod nepoužít databázi? Pokud ano, stálo za to ho tam uvést. > Mé nápady: > - Název souboru bude mět hodnotu base64_encode(JMENO_UZIVATELE).(libovolná přípona (krom txt aby se to netvářilo, že na první pohled je to MIME TYPE text)) K čemu to bude dobré? > - v souboru budou jednotlivé data o uživateli zakódována nějakou zpětnou šifrou (heslo v sha1) a oddělena středníkem pro jednoduché čtení přes explode() Tak alespoň si ta data nebude moci přečíst každý kdo se dostane na FTP, pak ale záleží na tom, jak by se dešifrovala. > - v adresáři s těmito soubory bude .htaccess s deny from all To je samozřejmě správně. |
||
panther Profil |
#8 · Zasláno: 10. 11. 2009, 17:12:45
fuckin:
„Cetl sis to cele?“ je pravda, že toto jsem přehlédl, až do konce jsem nedočetl. Nicméně, na tomtéž řádku na začátku se ptáš: „Je můj přístup k tomuto projektu správný?“. Co ti na to kdo má odpovědět? Řeknu-li „ANO“, nebude to pravda. Řeknu-li „NE“, to nechceš slyšet. |
||
Joker Profil |
#9 · Zasláno: 10. 11. 2009, 17:13:46 · Upravil/a: Joker
Akacko:
„Rychlejsi a jednodussi zpracovani? Lepsi zabezpeceni? Jednodussi zalohovani?“ A to jsou výhody čeho? - Rychlejší zpracování -> soubory - Jednodušší zpracování -> databáze - Lepší zabezpečení -> spíše databáze - Jednodušší zálohování -> těžko říct |
||
panther Profil |
#10 · Zasláno: 10. 11. 2009, 17:15:46
Joker:
odpověděl bych ti, ale nechci se dostat mimo :-) Stručně: přijde mi zbytečné mít kopici souborů (ale záleží na počtu uživatelů). S DB se lépe pracuje. Navíc, jak jsem psal [#8], přehlédl jsem fuckinovu poznámku na konci. Nebyl záměr mu napsat to, co nechtěl. |
||
Joker Profil |
#11 · Zasláno: 10. 11. 2009, 17:22:31
panther:
„odpověděl bych ti“ Netřeba, kliknul jsem na špatné Citovat ;-) Myslím, že nejsme ve sporu :-) |
||
johnl Profil |
#12 · Zasláno: 10. 11. 2009, 17:44:28 · Upravil/a: johnl
fuckin:
„Muzes me jeste vysvetlit jak ty data z toho php souboru mam efektivne cist kdyz to bude v komentarich?“ Pomocí explode.. soubor.php <?php /*|něco|další|atd|*/ ?> index.php $udaj = explode("|", file_get_contents("soubor.php")); echo "$udaj[0]"; //Bude <?php /* echo "$udaj[1]"; //Bude něco echo "$udaj[2]"; //Bude další ... |
||
Joker Profil |
#13 · Zasláno: 10. 11. 2009, 18:28:27 · Upravil/a: Joker
johnl:
No to svislítko nebyl zrovna dobrý příklad. Řádek: if(($neco == "a") || ($neco == "b") || ($neco == "c")){ v tom nadělá slušný binec. Dodatek: Myšleno pokud tam bude i nějaký PHP kód Jinak tedy jestli to má být ochrana před zobrazením souboru z prohlížeče, tak lepší je .htaccess a deny from all. |
||
johnl Profil |
#14 · Zasláno: 10. 11. 2009, 18:43:35
To „svislítko“ bylo jen jako příklad použít může třeba to „<+++++>“
|
||
Nox Profil |
#15 · Zasláno: 10. 11. 2009, 19:25:13 · Upravil/a: Nox
Joker:
Má jít o soubor daty uživatele/ů, takže nemyslím, že by tam měl php kód co dělat Radek9: „Šifrování atd. je zbytečnost.“ - až tak jednoznačné mi to nepřijde, bude zvýšená bezpečnost, obvzlášť kdyby server (hosting) nepodporoval htaccess „Příponu doporučuji php a data ukládat jako php poznámku. Například:“ - proč? Nevidím jedinou výhodu, jedině komplikace, je to soubor s daty, ne php kódem - třeba johnl nemá vůbec vůběc ošetřené <?php ?>, které tam podle mě bude, jelikož to načítáš přes file funkci, tudíž se to nebude parsovat před zpřístupněním „A proč ano?“ Nevím kde začít... soubory jsou poměrně rigidní systém, databáze jsou celý systém specializovaný právě na takové úkony, s nástroji a jazykem. Pokud nebude zamýšlená aplikace úplně jednoduchá, tak vypsat třeba tímto stylem přihlášené uživatele (v mysql jednoduchá věc) bude podle mě silně krkolomné. Relace mezi tabulkami a klíče, triggery a milion dalších věcí fuckin: Při změně různých políček budeš muset i ve variantě 2 všechno překopávat, navíc přes víc souborů, tzn. o něco horší. Každopádně myslím že nic, co by nevyřešil jeden regulár... Řekl bych že varianta víc souborů bude asi o trochu rychlejší, jelikož OS bude mít asi nalezení cesty k souboru rychlejší než sekvenční procházení souboru Pokud ovšem nepoužiješ memcached atp. ... to by pak varianta 1 byla podle mě rychlejší... Vůbec si nejsem jistý, zda by byla databáze pomalejší a spíš bych se přimlouval za ni, výhodu vidím snad jen v tom, že to pojede i na hostingu bez databáze... |
||
Shulík Profil |
#16 · Zasláno: 10. 11. 2009, 19:30:40
Nox:
„to pojede i na hostingu bez databáze...“ To by šlo vyřešit přes SQLite, PHP5 by pro ni mělo, tuším, mít už nativní podporu. Ale tehdy odpoadá plno výhod databáze, nevím, nakolik je SQLite schopna používat porovázanost tabulek, natož třeba triggery. |
||
Kacko Profil |
#17 · Zasláno: 10. 11. 2009, 19:44:11
fuckin:
Ukladej to v XML, zadne feature typu jine pripony souboru tam nedavej, to je k nicemu. Hashuj hesla. Klidne to sifruj, ale ten kdo se ti tam dostane to stejne prolomi. |
||
fuckin Profil |
#18 · Zasláno: 10. 11. 2009, 19:53:21
Kacko:
Tak jasne ze tu sifru kazdy prolomi, to bude jen od toho aby nejaky BFU to neprecetl. Nato bude stacit i base64, akorat nevim jak s diakritikou, dela to bordel. lze to nejak naucit i diakritiku? Xml vidim jako zbytecne, to je tak dobre na export. |
||
Kacko Profil |
#19 · Zasláno: 10. 11. 2009, 20:01:52
fuckin:
V cem je XML zbytecne? ad. diakritika - nemyslim, ze by base64 melo problem s diakritikou v UTF8, ale mozna se pletu. |
||
fuckin Profil |
#20 · Zasláno: 10. 11. 2009, 20:12:42
Kacko:
Taky sem si to myslel. Je to zahranicni hosting, mozna bude problem v tom, ikdyz pochybuju, pohraju si s php.ini, kdyztak sem napisu. Xml vidim jako az moc velky kalibr na neco tak jednoducheho. Me vyhovuje urcita posloupnost znaku ktera je predem dana. Musel bych vyuzit externich class nebo nastudovat interni fce pro praci s xml, obavam se ze ale podpora nebude vsude stoprocentni. Proto volim jistotu. Az bude php6 tak prejdu na binarni soubory :) |
||
Joker Profil |
#21 · Zasláno: 10. 11. 2009, 20:58:52
Nox:
„Má jít o soubor daty uživatele/ů, takže nemyslím, že by tam měl php kód co dělat“ Já to nejdřív pochopil jinak, tak jsem potom dopsal ten dodatek. Každopádně mi to nepřipadá jako moc dobrý způsob uložení dat. Nevidím v tom žádné výhody, naopak v tom vidím dvě nevýhody: - Data jsou obalená do jedné vrstvy navíc, víc práce při zpracování - Vytváří to nová bezpečnostní rizika. Když se mi povede do souboru dostat řetězec */ a pak ho otevřít v prohlížeči, vyhodí to nejspíš nějaké chyby. Když se mi tam povede dostat */?>, vypíší se mi uložená data za místem, kam jsem řetězec dostal. Když se mi podaří tam dostat */ PHP kód /*, vykoná se ten vložený PHP kód. fuckin: „Xml vidim jako zbytecne, to je tak dobre na export.“ Hm. Databáze ne, XML ne, s odůvodněním "prostě to tak je". To je zadané, že pro ukládání dat se musí používat formát se kterým se blbě pracuje a půjde pokud možno co nejhůř udržovat? |
||
Časová prodleva: 3 dny
|
|||
imploder Profil |
#22 · Zasláno: 13. 11. 2009, 17:10:02
[(demag)(ideol)]ogická "osvěta":
Ukládat data uživatelů do souborů je správné, protože to odpovídá unixové filozofii "všechno je soubor". Každý se tak může vrtat i v uživatelích textovým editorem. Jaký je tady vlastně důvod použít textové soubory - je to tento, nebo nějaký jiný? Bezpečnější to oproti DB asi nebude, jenom míň náročné (není potřeba DB, DB server si odpočine). |
||
fakeit Profil * |
#23 · Zasláno: 13. 11. 2009, 20:24:37
imploder:
a co tak třeba větvení databáze? :) |
||
Časová prodleva: 14 let
|
0