我一直在研究使用Django进行访问控制的文件下载.我的目标是完全阻止对文件的访问,除非由特定用户访问.我已经读过,当使用Django时,X-Sendfile是实现这一目标的首选方法之一(基于其他SO问题等).我对使用Xang Sendfile和Django的基本理解是:
与直接从Django中删除文件相比,X-Sendfile似乎是一种更有效的方法来实现受保护的下载(因为我可以依赖Nginx来提供文件,而不是Django),但是给我留下两个问题:
public_html目录中)?或者,精通技术的用户是否可以检查标题等,并以反向工程方式访问文件(然后分发)?提前致谢.
我的程序遇到了一些麻烦.
我有一个进程调用一个函数(Take_Job),它应该保持阻塞状态,直到一个时间(MINIMUM_WAIT)通过.如果不是这样,将出现通知这种情况的消息.
for Printer_Id in Type_Printer_Id loop
select
delay MINIMUM_WAIT
Pragma_Assert (True, "");
then abort
Take_Job (Controller,
Printer_Id,
Max_Tonner,
Job,
Change_Tonner);
Pragma_Assert
(False,
"Testing of Take_Job hasn't been successful. It should have remained blocked.");
end select;
end loop;
Run Code Online (Sandbox Code Playgroud)
函数Take_Job调用受保护对象中的条目:
procedure Take_Job (R : in out Controller_Type;
Printer : in Type_Printer_Id;
Siz : in Typo_Volume;
Job : out Typo_Job;
Excep_Tonner : out Boolean) is
begin
R.Take_Job(Printer, Siz, Job, Excep_Tonner);
end Take_Job;
Run Code Online (Sandbox Code Playgroud)
其中"R"是受保护对象.
以下代码是受保护对象的条目.实际上,"when"条件为True,因为我需要使用条目的参数检查一些内容.由于Ada不允许我这样做,我复制受保护对象内的参数并调用"延迟条目",然后在"延迟条目"中,我将确保在继续之前满足条件.
entry Take_Job(Printer_Id: in Type_Printer_Id; Remaining: in Type_Volume; Job: …Run Code Online (Sandbox Code Playgroud)