Skocz do zawartości
jasiek07

joomla a dostep uzytkownikow do folderu w katalogu www

Polecane posty

witam, mam duzy klopot. Moja strona stoi na joomli. Zalezalo mi na tym aby ograniczyc dostep do niektorych tresci, tak wiec tylko zalogowani moga odslaniac niektore artykoly. Niestety sytuacja jest na tyle skomplikowana, ze w tych artykolach umieszczone sa tresci z innych plikow php w ramkach, a pliki php z trescia o ktorych mowa znajduja sie powiedzmy w folderze "zdjecia" w katalogu www czyli tam gdzie reszta strony. Tak wiec bez problemu teraz wszyscy moga ominac ograniczenia, odwiedzajac bezposrednio pliki php z linku do nich. Da sie jakos zrobic, aby dostep do folderu "zdjecia" oraz calej jego zawartosci mialy tylko osoby zalogowane w joomli?

pozdrawiam

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Serwuj je przez php który będzie sprawdzać czy użytkownik ma dane uprawnienia.

 

Czyli link zamiast domena.pl/zdjecia/kot.jpg będzie domena.pl/cos.php?image=24312

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

niestety nie mam zbyt duzej wiedzy jesli chodzi o programowanie, moglbys opisac jak to powinno wygladac?? albo jakis link do poradnika moze do tego?? Wiem o co chodzi ale nie mam pojecia jak to zrobic

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

ok dzieki za pomoc


znalazlem cos takiego:

Firstly, you should restrict access to your script from outside of the Joomla framework. You can do this pasting this code at the beginning of your code:
// No direct access
defined( '_JEXEC' ) or die( 'Restricted access' );

oraz

Secondly, if you just want to test if the user accessing the script is logged in you can use this code:
$user =& JFactory::getUser();
if ($user->guest) {
echo "<p>Please login to download.</p>";
}
else {
//put the download code here
}

tylko nie wiem do konca w jaki sposob zastosowac ten kod. Wklejenie na poczatek pliku php wydaje mi sie zbyt latwe

 


moglby to ktos jakos rozszyfrowac? i jak to powinno wygladac przed wklejeniem do pliku php??

bo teraz po wklejeniu tego skryptu do pliku php nie dzieje sie kompletnie nic nadal strona sie wyswietla bez przeszkod

Edytowano przez jasiek07 (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

O ile dobrze pamiętam, wystarczy wysłać odpowiedni nagłówek header() a później readfile() lub file_get_contents() zapodać prawdziwą ścieżkę, aczkolwiek pewien nie jestem.

 

Edit:

Wpisz w google "php pobieranie po zalogowaniu się" od razu wyskakuje :P

 

Pierwszy lepszy link: http://www.goldenline.pl/grupy/Komputery_Internet/php/sciaganie-pliku-header,2985282/ i to jeszcze po polsku.

Edytowano przez PrecelusMaximus (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Stwórz sobie plik o nazwie test.php i jako zawartość daj:



<?php
/**
 * @package		Joomla.Site
 * @copyright	Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved.
 * @license		GNU General Public License version 2 or later; see LICENSE.txt
 */

// Set flag that this is a parent file.
define('_JEXEC', 1);
define('DS', DIRECTORY_SEPARATOR);

$obrazek = "sciezka/do/obrazka.jpg";

if (file_exists(dirname(__FILE__) . '/defines.php')) {
	include_once dirname(__FILE__) . '/defines.php';
}

if (!defined('_JDEFINES')) {
	define('JPATH_BASE', dirname(__FILE__));
	require_once JPATH_BASE.'/includes/defines.php';
}

require_once JPATH_BASE.'/includes/framework.php';

$user =& JFactory::getUser();
if ($user->guest) {
echo "<p>Please login to download.</p>";
}
else {
header('Content-type: image/jpeg');
header('Content-Disposition: attachment; filename="'.$obrazek.'"');

readfile($obrazek);
}

?>

$obrazek zamień na ścieżkę do jakiegoś obrazka jpg, np. zdjecie/obrazek.jpg. Spróbuj dodać obrazek do artykułu podając jako ścieżkę test.php, powinno Ci wyświetlić obrazek jeśli jesteś zalogowany.

 

Nie testowałem tego, pisane "na kolanie", sprawdź co się stanie. Nie skrobałem nic do Joomli ale może zadziała

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×