用于查看pdf的密码令牌

时间:2015-06-25 13:50:11

标签: security pdf

我知道标题可以更好,但我不知道如何定义我的问题。 我的问题是下一个,我不确定它是否可行,但我认为它是。

我有一些.pdf在线,我想为第三人保护他们。 我的想法,而不是分配密码并显示如下输入: enter image description here

我想在路径中发送密码(或令牌)。

之类的东西

file.pdf?tpw=aaaa-bbb-dddd

有可能吗?我使用C#创建了pdf。

编辑:案例

我有一个应用程序,它创建一个带有一些pdf的文件夹,这些pdf可以通过表单上传或创建。 (这部分有效)

所有这些文件都存储在互联网(全球访问)中,然后我想阻止第三人或搜索引擎(我读这个,它看起来不是一个大问题)

然后这是问题,我希望有些用户可以访问一些pdf,例如

  • 用户K可以访问pdf 33
  • 用户j可以访问pdf 54

但不是k到54等等。

我的想法是发送给用户(他们应该访问抛出链接)类似" https://domain.com/pdf/33.pdf?password=222222"并且没有此密码无法访问。

如果无法做到这一点,我可以创建一个"中间页面"将链接放在那里。

并发送网址,如" http://domain.com/pdf/view.chtml?id=33&password=222222"

编辑:如果他们输入https://domain.com/pdf/33.pdf

,则阻止访问

编辑2:解决方案(至少现在)

为每个文件存储到数据库中 - filename - user(以md5为单位) - 令牌(在sha1中) 向用户发送www.domain.com/api/showpdf.chtml?user=XXXXX&token=KKKKKKKKKKKKKKK

等链接

当用户点击时,用户只需检查数据库,如果存在任何文件,则为令牌,如果是这种情况,则显示该文件。

要解决直接访问的问题,我们将把文件放在" localhost"文件夹

谢谢大家。

1 个答案:

答案 0 :(得分:1)

我认为获取密码不是一个好主意,它们是可见的,密码只应发送一次,在服务器中启动用户会话,然后创建一个临时票证用户,应该通过POST在每个请求上发送此票证。

无论如何,您需要使用数据库并为每个用户存储用户,密码,文件和每个文件的权限,您可以使用文件,但它永远不是一个好主意存储密码用纯文本表示。我猜你已经有一个数据库在运行,你只需要为它添加一个文件和一个文件的权限表。

此外,您永远不应该在数据库中保留真实密码,而只是它的校验和(SHA-1或类似)