Fájlok letöltés védelme csak regisztráltaknak
Sziasztok!
Azt szeretném megtudni, hogy miként lehetséges egy Apache 2.0.53-as (Win32) webszerver esetén az egyes könyvtárakhoz a hozzáféréseket egy MySQL adatbázisban tárolt felhasználó és jelszó párosításokhoz kötni?
Nem szeretném ha a szerveren tárolt fájlokat valaki egy másik oldalon egyszerűen belinkelné, és ezáltal simán hozzáférhetővé válnának, hanem szükséges lenne az oldalra való regisztráció, s ez után a felhasználó egy letölthető fájl hozzáférésekor megadja az oldalon regisztrált login/jelszó párosát.
Miképpen lehet ezt eszközölni? Előre is köszi a segítséget!
Liquid
■ Azt szeretném megtudni, hogy miként lehetséges egy Apache 2.0.53-as (Win32) webszerver esetén az egyes könyvtárakhoz a hozzáféréseket egy MySQL adatbázisban tárolt felhasználó és jelszó párosításokhoz kötni?
Nem szeretném ha a szerveren tárolt fájlokat valaki egy másik oldalon egyszerűen belinkelné, és ezáltal simán hozzáférhetővé válnának, hanem szükséges lenne az oldalra való regisztráció, s ez után a felhasználó egy letölthető fájl hozzáférésekor megadja az oldalon regisztrált login/jelszó párosát.
Miképpen lehet ezt eszközölni? Előre is köszi a segítséget!
Liquid
Több dolog
Először is meg kéne nézned ezt a linket, ahol megtudhatod, hogyan tudsz MySQL adatbázist kezelni: php manual
Ezeknek az elsajátítása után egyszerű, ugyanis csak egy űrlapban bekéred az adatokat, s olyan nevet adsz az egyes objektumoknak, amik a programban lévő változók nevei lesznek.
Ha keresőkbe regisztrálsz, nézd meg, hogy a védett oldalaidat ne indexelje le. Ehhez google-ből tudsz leírásokat összevadászni, ha pedig csak egy link mutat a védett oldalra, akkor egy meta tag elég. Üdv:
Mr.Tiny :: MRT Site
Pontosítás
Nos a lényeg a következő:
A PHP és a MySQL közötti kommunikációval semmi gond, egy felhasználónevet és a hozzá tartozó jelszót simán le tudom kérdezni, ezek után már az összetartozás ellenőrzése könnyű feladat.
(Itt nem a link böngészőbe írásának lehetőségével volt a gond.)
A probléma ott kezdődik, hogy ha egy másik webldalról valaki simán belinkeli az egyik letöltésemet, akkor azonnal mindenki számára elérhetővé válik.
Viszont rájöttem valamire:
Mivel az Apache webszerverek .htaccess fájlok alapján lezelik a jogosultságokat, a PHP pedig képes a szerveren különféle fájlok létrehozására, ezért valószínű az lesz a megoldás, hogy minden egyes újonnan regisztrált felhasználó esetén újra kell majd írni a könyvtár .htaccess fájlját, másképpen az új felhasználók nem férnek hozzá a letölthető fájlokhoz.
Vélemény vagy jobb ötlet?
Liquid [Eclipse]
Persze, jó irányban
A letöltésre kinált
Miután eldöntötted, hogy jogosult e látogató a fájl letöltésére, akkor kiszálgálod a kérését.
Fájlok tárolása MySQL adatbázisban
Liquid [Eclipse]
60MB+
Más megoldás
Mr.Tiny :: MRT Site
Pont az a lényeg, hogy csak
A legjobb megoldás amit ismerek, a fájl kiszolgálása php-n keresztül: session ellenőrzés, azonosítás, aztán a megfelelő fejlécek küldése, és a fájl elküldése pl. readfile() vagy fpassthru() segítségével.
http://hu.php.net/manual/hu/function.header.php
http://hu.php.net/manual/hu/function.readfile.php
http://hu.php.net/manual/hu/function.fpassthru.php
Vagy nem