Привет, я нашел скрипт 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 .