Dobrodošli,
Gost
. Molim vas
prijavite se
ili se
registrujte
.
Da niste izgubili svoj
aktivacioni e-mail?
Sreda, 23. Maj 2012. 23:29:44
Početna
Pomoć
Pretraga
Prijavljivanje
Registracija
linux.rs forum
>
Programiranje
>
PHP
>
Autentifikacija
Stranice: [
1
]
Idi dole
« prethodna tema
sledeća tema »
Štampaj
Autor
Tema: Autentifikacija (Pročitano 2135 puta)
Anonymous
Gost
Autentifikacija
«
poslato:
Subota, 22. Septembar 2001. 18:56:00 »
zna li neko kako resiti ovaj problem:
1) u direktorijumu, recimo /test, se nalaze .zip fajlovi koji su zasticeni .htaccess-om da im se ne bi moglo pristupiti direktno,
2) u drugom direktorijumu se nalazi php skript koji iscitava prethodni dir i generise linkove ka svakom pojedinacnom fajlu,
3) klikom na neki od linkova skript bi trebao da izvrsi autentifikaciju (sto znaci da PREDUHITRI ISKAKANJE PROMPTa za ubacivanje username i pwd-a) i posalje zeljeni .zip fajl
pokusao sam sa:
if( !($passwd = @fopen( "$path/.htpasswd", "r" )))
{ echo "Ne mogu da otvorim datoteku koja sadr
Sačuvana
acim
Administrator
Elitni član
Van mreže
Poruke: 1.604
Autentifikacija
«
Odgovor #1 poslato:
Nedelja, 23. Septembar 2001. 13:37:00 »
Ovde se radi o nerazumevanju HTTP protokola. Vidis, pri pozivanju gornjeg skripta, on ce u najboljem slucaju poslati Location heder koji ce novi request browsera usmeriti na novu lokaciju koja je zasticena sifrom. Da li je i ovaj gornji skript zasticen sifrom? Ukoliko je odgovor "da", onda u .htaccess fajlovima treba koristiti isti Realm, tako da Apache nece ponovo traziti autentikaciju obzirom da je isti Realm vec autentifikovan u prethodnom requestu i browser vec ima kesiranu username/password kombinaciju koju ce poslati serveru automatski. No, predlazem ti da promenih kompletan koncept ovog skripta. Umesto toga, neka ovaj PHP otvori binarne fajlove, posalje "Content-type" heder koji ce opisati sadrzaj i zatim poslati ove fajlove. Time ces kompletno sakriti imena, a cak se fajlovi ne moraju nalaziti u okviru Web root stabla, vec mogu biti bilo gde u fajl sistemu. Samu autentikaciju je dovoljno izvrsiti pri pristupu gornjem, odnosno modifikovanom gornjem skriptu.
Umesto Location hedera, mozes da uradis sledece:
Header ("Content-Type: application/octet-stream");
Header ("Content-Length: " . filesize("/putanja/ime_fajla"));
Header ("Content-Disposition: attachment; filename=ime_fajla");
readfile("/putanja/ime_fajla");
Time ce automatski zapoceti download.
Sačuvana
Boban Aćimović, urednik linux.rs
Stranice: [
1
]
Idi gore
Štampaj
« prethodna tema
sledeća tema »
Prebaci se na:
Izaberite destinaciju:
-----------------------------
Operativni sistem Linux
-----------------------------
=> Komentari i najave
=> Forum za početnike
=> Sistem administracija
=> Bezbednost
-----------------------------
Primena Linuxa
-----------------------------
=> Školstvo
=> Privreda
=> Enterprise
-----------------------------
Programiranje
-----------------------------
=> Teorija programiranja
=> C/C++
=> Perl
=> PHP
=> Java
=> Python
=> Basic
=> Pascal
=> Shell
-----------------------------
Mreže
-----------------------------
=> Mreže
=> Bežične mreže
-----------------------------
Razno
-----------------------------
=> Baze podataka
=> Web dizajn
=> Web
=> Zaposlenje
=> Mali oglasi
-----------------------------
Podrška
-----------------------------
=> Sugestije i primedbe
=> Test
Powered by SMF 1.1.16
|
SMF © 2006-2011, Simple Machines
Site and theme sponsored by
Evizo
Učitavam...
?>