您好我找到了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;
}
&GT;
是否有可能根据joomla用户会话为此添加身份验证?我的意思是当用户登录我的网站时,他可以访问此脚本,但无法直接访问。
抱歉我的英文。
答案 0 :(得分:0)
首先,您应该限制从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文档,可以帮助您入门:Developing a MVC Component。