Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 5 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 09.05.09
Prihlásený: 07.10.13
Príspevky: 63
Témy: 20
Bydlisko: Košice
Príspevok NapísalOffline : 08.02.2010 20:00

Tvorim skript, v ktorom administrator moze pridavat subory ktore mozu stiahnut registrovani uzivatelia. Kazdy uzivatel bude moct stiahnut iba niektory zo suborov, iny uzivatel iny zo suborov. Ako by som mal riesit ochranu toho, ze jeden uzivatel nemoze stiahnut iny subor nez aky je mu povoleny.

Napadla ma nahodne generovana cesta k suboru ktora by sa zobrazovala iba uzivatelovi s pravom na subor, a teda uzivatel, ktory na to pravo nema, by nemal odkaz ako sa k tomu suboru dostat... avsak to si vsak moze zistit (napr. od ineho uzivatela ktory ten odkaz ma).

Preto by som chcel vediet, ako na to, aby uzivatel ktory nie je prihlaseny respektive uzivatel ktory nema na dany subor pravo nestiahol subor zadanim jeho URL ktore mu posle uzivatel ktory k suboru pravo ma. V jazyku kodu by som potreboval ze skontroluje podla $_SESSION kto je prihlaseny a na zaklade toho mu bud zacne stahovat subor alebo vypise spravu o chybe.

Hadam som to dost zrozumitelne popisal.

Dakujem za rady.


Offline

Čestný člen
Čestný člen
Praca so subormi

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 08.02.2010 20:58

Budes mat linky v tvare stiahni.php?subor=nazov-suboru.ext, tam to hocijako skontrolujes a potom ponuknes subor na stiahnutie, priklad mas tu: http://sk2.php.net/readfile


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.02.07
Prihlásený: 21.02.10
Príspevky: 3984
Témy: 96
Príspevok NapísalOffline : 09.02.2010 9:22

Samotnú bezpečnosť vyriešiš buď v DB, alebo samostatnom súbore, kde budeš mať informácie, ktorá skupina užívateľov, môže vidieť dané súbory. A potom to budeš len overovať ...


Offline

Skúsený užívateľ
Skúsený užívateľ
Praca so subormi

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1756
Témy: 35
Bydlisko: BA - WESTSIDE
Príspevok NapísalOffline : 09.02.2010 11:40

Ja sa pokúsim poradiť trochu komplexnejšie, lebo chalani hore to síce nemysleli zle, ale zdá sa mi, že by si ich nemusel úplne pochopiť.

Pri robení takéhoto systému musíš mať niekoľko častí - uloženie súborov, schému prístupov a potom nejaké to rozhranie na interakciu s užívateľom.

Uloženie súborov - predpokladám, že máš Linuxový server Apache. Tam toto uloženie spravíš veľmi jednoducho - buď budeš súbory ukladať do priečinka, ktorý je mimo webového priečinka (tj. web máš napr. v priečinku /home/scrysurn/public_html a tie súbory budeš ukladať do /home/scrysurn/subory ) alebo môžeš ukladať do webového podpriečinka, ale musíš ho ochrániť súborom .htaccess (tj. napr. súbory budeš ukladať do /home/scrysurn/public_html/subory a v tom priečinku bude súbor .htaccess v ktorom bude napísané
Kód:
deny from all
). Oba prístupy zabezpečia, že aj keby niekto vedel presný názov súboru na servri a napísal do prehliadača cestu k nemu, Apache mu ten súbor na stiahnutie nedá (to ti umožní napr. aj obmedziť počet stiahnutí súboru).

Schéma prístupov a rozhranie - to nechám na tebe; asi najlepšie sa to dá spraviť tak, že keď uploadneš súbor, tak na server sa uloží pod iným názvom (nejakým náhodne vygenerovaným, aby si sa vyhol problému s rovnakými názvami) a napr. do databázy sa zapíše aký bol pôvodný názov súboru a aký je názov uloženého súboru. Keď dostaneš požiadavku na nejaký súbor tak sa nejakou logikou rozhodneš, či ten užívateľ môže dostať želaný súbor (napr. cez ACL alebo nejakú inú autorizačnú schému) a ak áno, tak skriptom podobným tomuto vytiahneš súbor a pošleš ho užívateľovi:
Kód:
<?php
$user = $_SESSION['user'];
$file = osetri_vstup($_GET['file']);
$filename = zisti_nazov_suboru_na_servri($file);
if (!uzivatel_je_autorizovany($user, $file)) {
    die("Nemas pravo na pristup k tomuto suboru.");
}

if (file_exists($filename)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.$file);
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Pragma: public');
    header('Content-Length: ' . filesize($filename));
    ob_clean();
    flush();
    readfile($filename);
    exit;
}
?>
Ešte sa to dá vylepšiť tak, že podľa typu súboru správne nastavíš hlavičku Content-Type (tá čo tam je teraz možno nebude správne fungovať napr. pri textových súboroch, treba vyskúšať).







_________________
A. S. Tanenbaum píše:
The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 09.05.09
Prihlásený: 07.10.13
Príspevky: 63
Témy: 20
Bydlisko: Košice
Príspevok Napísal autor témyOffline : 09.02.2010 14:02

Presne to som potreboval pocut, p360t - vdaka za komplexne vyriesenie, v casti Uloženie súboru je vsetko co som chcel :)

Vdaka readfile() uz chapem ako to vlastne urobit elegantne :) povodne som chcel iba jednoduche presmerovanie na subor cim by uzivatel zistil tu URL a tym vznikal ten problem co som popisal na zaciatku.

To ostatne uz mam viacmenej premyslene a s ochranou cez .htacces to bude vsetko. Zatial dakujem za pomoc, dnes-zajtra to sprevadzkujem a ak by som este na nieco narazil tak napisem :)


Odpovedať na tému [ Príspevkov: 5 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Práca so súbormi

v Assembler, C, C++, Pascal, Java

6

688

14.11.2015 23:26

tyrenus Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Praca s textovymi subormi

v Operačné systémy Unix a Linux

2

362

19.04.2015 10:05

expoox Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Praca so subormi linux

v Assembler, C, C++, Pascal, Java

4

763

13.12.2009 14:26

chrono Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Praca so subormi C

v Assembler, C, C++, Pascal, Java

3

1775

05.10.2009 23:02

juho Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Help!!! PHP práca so súbormi

v PHP, ASP

3

909

16.12.2006 23:03

Citron-ca Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Windows Vista SP1 - stale pomala praca so subormi...

v Operačné systémy Microsoft

4

477

14.11.2008 23:28

walther Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PC zostava 2000€ práca s videom, programovanie, práca v photoshope atď...

[ Choď na stránku:Choď na stránku: 1, 2 ]

v PC zostavy

37

1800

25.01.2017 9:44

Xaltotun Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. problem so subormi

v PHP, ASP

2

297

25.09.2012 17:12

korkomaster Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Array so subormi

v PHP, ASP

2

458

05.06.2009 19:57

Draex Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Problem su subormi

v Ostatné programy

4

591

08.02.2009 19:18

zeky Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PROBLEM S KRYPTOVANYMI SUBORMI

v Operačné systémy Microsoft

4

403

04.01.2008 21:27

ddumbbo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. problem zo zasifrovanymi subormi

v Operačné systémy Microsoft

2

343

12.11.2007 18:25

ts.jethro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. problem so subormi na ploche

v Operačné systémy Microsoft

2

393

25.03.2009 19:18

Samoo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. stiahnut stranku z flah subormi

v Ostatné programy

4

313

14.01.2012 20:40

p4tooo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. subory .avi so subormi .index

v Video programy

1

269

28.04.2014 13:14

Mandy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Foobar 2000 problem s CUE subormi

v Audio programy

10

992

20.03.2010 22:28

maxcavalera Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra