Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Tiedoston/kansion käyttöoikeudet

Sivun loppuun

Othnos [27.07.2010 20:02:53]

#

Tervehdys Ohjelmointiputkalaiset!

Olen hieman etsinyt ratkaisua kyseiseen pulmaan, mutta ajattelin tulla kysymään teiltä guruila hyvää ratkaisutapaa.

Haluan tietyille kansioille ja tiedostoille käyttäjäkohtaiset oikeudet esim. käyttäjä1 ei pääse selaamaan kayttaja2-kansion sisältöä ja niin edelleen. .htaccess oikea tapa lähestyä? Nopealta vilkaisulta vain tutustunut ja näytti, että saattaisi saada sillä toimimaan.

-Othnos

-tossu- [27.07.2010 20:16:03]

#

Saat tehtyä hakemistokohtaiset oikeudet esim. juuri .htaccess:lla, tosin jos kansioita on paljon tai oikeuksia muutetaan usein, on .htaccess turhan hankala. Silloin suosittelisin vaikka PHP-pohjaista autentikointia.

Mikäli haluat käyttää .htaccess:ia, löytyy siihen ohjeet osoitteesta http://www.htmlite.com/HTA006.php

Othnos [27.07.2010 20:42:03]

#

Kiitos vastauksesta. Taisi olla juuri tuo linkki mistä kävin nopeasti vilkaisemassa ja näyttäisi olevan passeli omaan tarkoitukseen.

Miten PHP:llä pystyy kansioita ja tiedostoja suojaamaan? Tarkoitus olisi, kun kansiorakenteen tulevat olemaan samankaltaisia kuten kayttaja1/kuvat/kuva1.jpg, kayttaja2/kuvat/kuva1.jpg jne. niin ettei tietämällä suoraa urlia pääse tiedostoon käsiksi. Itselleni tulee vain mieleen, että jokaisen käyttäjän kansion nimeen generoidaan jokin pitkä merkkijono, mutta sekään ei poista ongelmaa täydellisesti.

-Othnos

Macro [27.07.2010 21:10:39]

#

Kuvatiedostoja ei pysty PHP:llä suoraan suojaamaan, mutta voithan käyttää sessioneja tai cookieita muiden tiedostojen kanssa.

<?php
// Salattu sivu 1
if(isset($_SESSION["salasana"]) && $_SESSION["salasana"] == "ABC123") {
   echo "Salattu sivu";
}
?>

-tossu- [27.07.2010 21:11:42]

#

PHP:llä pystyt suojaamaan siten, että ModRewrite:llä muutat kayttaja1/kuvat/kuva1.jpg:n sivu.php?tiedosto=kayttaja1/kuvat/kuva1.jpg:ksi ja sitten tarkistat onko käyttäjällä oikeus avata tiedosto.

Macro [27.07.2010 21:17:04]

#

-tossu- kirjoitti:

PHP:llä pystyt suojaamaan siten, että ModRewrite:llä muutat kayttaja1/kuvat/kuva1.jpg:n sivu.php?tiedosto=kayttaja1/kuvat/kuva1.jpg:ksi ja sitten tarkistat onko käyttäjällä oikeus avata tiedosto.

Minä ainakin arvaisin suoraan, että alkuperäinen on sijainnissa kayttaja1/kuvat/kuva1.jpg.

Voisihan sen tehdä siten, että luot taulukon kaikista kuvista, ja annat niille jonkin "salakoodin", esimerkiksi md5-summan kuvan nimestä ja jostain lisämerkkijonosta (esim. md5("kuva1.jpg" . "abc")).

$tiedostot = array(array("kuva1.jpg", md5-summa), array("kuva2.jpg", md5-summa));

Vai pystyikö PHP:ssä tekemään näin?

$tiedostot = array("kuva1.jpg" = md5-summa, "kuva2.jpg" = md5-summa);

Käyttäjä antaa kuvan osoitteen muodossa kuva.php?id=kuvan_md5_nimi. Tarkistat käyttäjän oikeudet, katsot mitä kuvaa id vastaa ja piirrät kuvan uudelleen GD:llä.

temu92 [27.07.2010 21:19:19]

#

Macro kirjoitti:

Minä ainakin arvaisin suoraan, että alkuperäinen on sijainnissa kayttaja1/kuvat/kuva1.jpg.

Mitä se vaikuttaa asiaan? Et pääse tiedostoon käsiksi kun ModRewrite on käytössä.

Macro [27.07.2010 21:25:10]

#

temu92 kirjoitti:

Macro kirjoitti:

Minä ainakin arvaisin suoraan, että alkuperäinen on sijainnissa kayttaja1/kuvat/kuva1.jpg.

Mitä se vaikuttaa asiaan? Et pääse tiedostoon käsiksi kun ModRewrite on käytössä.

Olimpas tyhmä.

Othnos [27.07.2010 22:05:18]

#

Kiitos vastanneille.

-tossu- kirjoitti:

PHP:llä pystyt suojaamaan siten, että ModRewrite:llä muutat kayttaja1/kuvat/kuva1.jpg:n sivu.php?tiedosto=kayttaja1/kuvat/kuva1.jpg:ksi ja sitten tarkistat onko käyttäjällä oikeus avata tiedosto.

Tämä kyseinen tapa lienee helpoin toteuttaa olemassa olevan järjestelmäni päälle ja helppo tehdä tarkistus PHP:n puolella.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta