我的网站上有一个链接。每当用户点击此链接时,就会下载此操作的pdf文件。但如果用户知道文件链接,他/她会直接在浏览器中添加文件地址,并可以下载文件,这就存在问题。我想通过在浏览器地址栏中输入文件url来保护它直接下载。对此任何建议都可以。
问候
SYED
好吧,
- 您可以使用令牌(此"令牌"保存在HTML元素的输入type='hidden'name='token'value='token-value'中,稍后使用)
- 检查refer是否在您的表单页面
"令牌",您可以查看pdf文件开始下载的时间。
我不能在asp.net中做到这一点,但你可以看看asp.net
简单示例代码:
<?
$token = $_SESSION['token'] = md5(uniqid());
echo "<form method='POST' action=""><input type='hidden' name='token' value='$token'>
<input type='submit' value='Go!'>";
if($_POST["token"] == $token) {
//show link pdf file
}else {
die('Access denied');
}
?>
我不说这是什么完全安全,说的是一种选择。
将文件放在其中一个网站文件夹中,并使用表单身份验证和位置属性从web.config设置对此文件夹的身份验证。用户需要登录才能下载PDF。
<authentication mode="Forms">
<forms defaultUrl="Default.aspx" loginUrl="~/adminlogin.aspx" slidingExpiration="true" timeout="30"></forms>
</authentication>
<location path="[PDF Folder]">
<system.web>
<authorization>
<allow roles="[role]"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
This is only sample Get more details about above from net.