Ограничить прямой доступ к скрипту на основе аутентификации joomla

Привет, я нашел скрипт Aron Rotteveel:

<?php $file = $_GET['file']; $fileDir = '/path/to/files/'; if (file_exists($fileDir . $file)) { // Note: You should probably do some more checks // on the filetype, size, etc. $contents = file_get_contents($fileDir . $file); // Note: You should probably implement some kind // of check on filetype header('Content-type: image/jpeg'); echo $contents; } 

?>

есть ли возможность добавить аутентификацию к этому, на основе сеанса пользователей joomla? Я имею в виду, когда пользователь вошел на мой сайт, он получил доступ к этому скрипту, но не смог получить доступ к нему.

Извините за мой английский.

Во-первых, вы должны ограничить доступ к своему скрипту из-за рамки Joomla. Вы можете вставить этот код в начале кода:

 // No direct access defined( '_JEXEC' ) or die( 'Restricted access' ); 

Во-вторых, если вы просто хотите проверить, зарегистрирован ли пользователь, обращающийся к скрипту, вы можете использовать этот код:

 $user =& JFactory::getUser(); if ($user->guest) { echo "<p>Please login to download.</p>"; } else { //put the download code here } 

Если, ограничивая прямой доступ, вы имеете в виду запретить пользователям просто вставлять URL-адрес вашего файла сценария, тогда вы должны его реализовать надлежащим образом. В случае joomla путь porper должен состоять в создании компонента MVC. Вот отличный ресурс из официальной документации Joomla, которая должна вас начать: Разработка компонента MVC .